C数组的相关知识
数组的定义:具有相同数据类型的集合。在内存中开辟连续的存贮空间,从上往下,依次存储
补充:内存是以字节位单位的存储空间,内存中的每一个字节都唯一对应一个编号.这个编号就是地址。只要是存在内存中的数据都有相应的地址。
定义的形式:数据类型 数组名[数组长度];
int a[10];
char s[5];
一个数组在内存中的存储形式:
数组元素的引用:
数组名[下标];
a[1]; //访问数组中第二个元素。
char [8]; //访问数组中第七个元素。
a[i] //访问数组中第i-1个元素。
数组的初始化:
C语言对数组的初始化赋值还有以下几点规定:
1) 可以只给部分元素赋初值。当{ }中值的个数少于元素个数时,只 给前面部分元素赋值。例如:
- int a[10]={0,1,2,3,4};
表示只给a[0]~a[4]5个元素赋值,而后5个元素自动赋0值。
2) 只能给元素逐个赋值,不能给数组整体赋值。例如给十个元素全部赋1值,只能写为:
- int a[10]={1,1,1,1,1,1,1,1,1,1};
而不能写为:
- int a[10]=1;
3) 如给全部元素赋值,则在数组说明中,可以不给出数组元素的个数。例如:
- int a[5]={1,2,3,4,5};
可写为:
- int a[]={1,2,3,4,5};
二维数组:
定义:
数据类型 数组名[数组行长度][数组列长度];
例如:
int a[4][4];
引用:
数组名[行下标][列下标];
int b[i][j];
表示数组的第i-1行,第j-1列的元素。
二维数组的初始化:
同一维数组,注意可以省略行下标。