一.一维数组
1.创建:
一维数组的创建需要包括类型,数组名以及常量表达式,具体如下
数组类型 数组名[常量表达式]
其中,常量表达式可以包含数据常量和符号常量,且C语言不允许对数组的大小进行动态定义。
如,int n = 3 ;int a[n] ;是不合理的。
2.初始化:
(1)可以对数组内的所有元素进行初始化,如:int a[3] = { 1,2,3 } ;
(2)按照上述赋初值,可以省略常量表达式,如:int a[] = { 1,2,3 } ;
(3)部分元素赋初值,[]内的常量不可以省略。且如:int a[5] = { 1,2,3 } ; 其余元素默认为0
(4)建议在数组定义后进行初始化,以防系统对数组随机赋值。
3.引用:
数组的使用是通过下标来使用的。具体如下图
4.在内存中的存储:
在内存中连续存放,可以通过打印数组内元素的地址来观察。(%p可以打印地址)如下
不难看出,从第一个数组元素到第五个,其地址一直在变大,且每次变化4,也就是4个字节(一个内存单元)所以数组中的元素是连续存放的
二.二维数组
1.创建:
二维数组的创建是通过行和列来创建的,包括类型,数组名以及两个常量表达式。具体如下
数组类型 数组名[常量表达式1][常量表达式2]
如 arr[3][4] 就代表了一个三行四列的数组。
2.初始化:
(1)可以分行对数组内的所有元素进行初始化,如:int a[3][3] = { {1,2,3},{3,4,5},{4,5,6} } ;
(2)按照上述赋初值,可以省略常量表达式1(二维数组一般来说可省略常量表达式1,也就是行,常量表达式2也就是列不省略),如:int a[][3] = { {1,2,3},{3,4,5},{4,5,6} } ;
(3)建议在数组定义后进行初始化,以防系统对数组随机赋值。
3.引用:
二维数组的使用仍为下标:具体如下图:
4
4.在内存中的存储:
二维数组在内存中也是连续存放的。