五、数组维度
在内存中,数组的分布是一维线性的,整个数组占用一块连续的内存
连续性、同类型、顺序存储、可以通过下标去访问每一个成员
5.1 一维数组
-
一维数组 定义 -->数据类型 数组名[常量表达式] -> int arry[17]
-
数组名 表示 内存首地址 是地址常量
-
编译时分配连续内存,内存字节数 = 数组元素个数*sizeof(元素数据类型)
-
数组是连续的,所以可通过下标找到对应值,下标可以是产量或整型表达式
-
C语言不对数组作越界检查,使用时注意
-
int型数组,未赋值时,[0]位存值 0
-
sizeof(a)/sizeof(int)元素个数,初始化方式,int a[5] = {0};//a[0]的值为0,其余值默认为0,不初始化,其元素值为随机数
-
只要初始化时有值,剩余空位默认为0
-
-
对 static 数组元素不赋初值,系统自动赋值0, 只给部分数组元素赋初值
-
当全部数组元素赋初值时,可不指定数组长度,编译系统可根据初值个数确定数组长度
5.2 二维数组
-
数组名【行】【列】 元素 = 行*列
-
存放顺序:按行优先连续存储 , 内存为一维
-
声明时,若未初始化数组,行列数不可缺省,若初始化数组,行数可缺省