变量存储单元的第一个字节的地址就是该变量的地址。
数组名代表着整个数组的地址,也就是数组的起始地址,也是数组第一个元素的地址。
C语言中,编译器是不会对数组下表越界进行检查的,所以自己访问数组元素时要小心。
void test(int b[])
{
b[0] = 9;
}
int main()
{
int a[3];
a[0] = 10;
printf("函数调用前的a[0]:%d
",a[0]);
test(a);
printf("函数调用后的a[0]:%d
",a[0]);
return 0;
}
//输出结果:函数调用前的a[0]: 10
函数调用后的a[0]: 9
二维数组是一个特殊的一维数组:它的元素是一维数组。
如:int a[2][3]可以看作由一维数组a[0]和一维数组a[1]组成,这两个一维数组都包含了3个Int类型的元素。
int a[2][3] = {{2,2,3},{3,4,5}}; //按行进行初始化
int a[2][3] = {2,2,3,3,4,5}; //按存储顺序进行初始化(先存放第一行,再存放第二行)
可以省略行数,但是不可以省略列数。如:int a[][3] = {1,2,3,4,5,6};