【C语言】数组
- 1、数组的概念
- 2、一维数组的创建和初始化
- 2.1数组创建
- 2.2数组的初始化
- 2.3数组的类型
- 3、一维数组的使用
- 3.1数组下标
- 3.2 数组元素打印
- 3.3数组的输入
- 4、一维数组在内存中的存储
- 5、sizeof计算数组元素个数
1、数组的概念
数组是一组相同类型元素的组合,以下是数组的特点:
- 数组中存放的是一个或者多个数据,但是数组元素的个数不能为0;
- 数组存放的多个数据,类型应是相同的。
数组中可以分为一维数组和多维数组,常见的多维数组是二维数组。
2、一维数组的创建和初始化
2.1数组创建
一维数组创建的基本语法如下所示:
type arr_name[常量值];
存放在数组的值被称为数组的元素,数组在创建的时候可以指定数组的大小和数组的元素类型。
- type指定的是数组中存放数据的类型,可以是:char、short、int、float等,也可以是自定义的类型。
- arr_name指的是数组名的名字,这个名字根据实际情况来起。
- [ ]中的常量是用来指定数组的大小的。数组的大小根据实际的情况来指定。
eg:如果想存储某个班级20人的数学成绩,可以创建如下数组:
int math[20];//数组有20个元素,每个元素的类型是int
我们也可以根据实际情况来创建其他类型的数组以及大小
eg:
char ch[12];//字符数组。
double score[18];//双精度浮点数组。
2.2数组的初始化
数组在创建时,我们往往需要给定一些初始值,称为数组的初始化。
- 当对数组进行初始化的时候,数组的大小可以省略
- 编译器会根据初始化内容,自动计算元素个数
eg:
2.3数组的类型
数组算是一种自定义类型,去掉数组名留下的就是数组的类型。
int arr1[15];
double arr2[18];
char ch[5];
如上图所示:
- 第一行数组的元素的类型是int类型;数组的类型是int[15];
- 第二行数组的元素的类型是double类型;数组的类型是double[18];
- 第三行数组的元素的类型是char类型;数组的类型是char[5]
3、一维数组的使用
通过上面的介绍数组的基本语法,我们可以知道一维数组可以存放数据,存放数据的目的就是对数据的操作。接下来介绍一维数组的使用方法。
3.1数组下标
C语言规定数组是有下标的,下标是从0开始的,假设数组有n个元素,那么最后一个元素的下标是n-1,下标相当于数组元素的编号 举例如下:
int arr[10]={1,2,3,4,5,6,7,8,9,10};
在C语言中数组的访问提供了一个操作符[ ],这个操作符叫:下标引用操作符。
有了下标引用操作符,我们就可以访问我们想要的数组元素了,eg:如果我们想要访问下标为9的元素,我们就可以使用arr[9],请看代码示例:
3.2 数组元素打印
如果我们想要访问整个数组的内容,如何实现呢?
只要我们产生数组所有元素的下标就可以实现,这时我们可以使用for循环产生0-9的下标,然后使用下标访问就可以实现。
eg:
3.3数组的输入
介绍完了数组的访问以及打印之后,我们可以根据自己的需要自己给数组进行输入想要的数据,示例如下:
4、一维数组在内存中的存储
介绍了一维数组的基本知识之后,我们便可以使用简单的一维数组了,如果想要深入了解数组,我们就需要了解一下数组在内存中的存储。
通过观察一维数组的内存可以发现,数组随着下标的增长,地址是由低到高变化的,并且每两个相邻元素之间相差4(每个int元素占有4个字节)
所以可以得到结论:数组在内存中是连续存放的。
5、sizeof计算数组元素个数
在遍历数组的时候,我们经常想知道数组的元素个数,我们可以使用sizeof来计算数组的元素个数。
sizeof是C语言的关键字之一,可以计算类型或者变量大小,也可以计算数组的大小。
上述示例计算的是数组所占内存空间的总大小,单位:字节(byte)。
我们又知道数组中所有元素的类型都是相同的,那只要计算出一个元素所占的字节个数,数组所占的内存空间总大小就可以知道(一个元素所占字节x元素个数)
元素个数计算: