定义数组杜绝用变量定义数组长度(除非兼容C99标准)。
例如int n; int a[n];
数组元素初始化为0:int a[ ] = {0};或者memset(a,0,sizeof(a));
一维数组
数组名是指针常量,保存的是数组首元素的地址,不能自加。
a:数组名,指针常量,一维数组首元素的地址
&a:对一维数组名取地址等于一维数组的地址
*(&a) = a;:对一维数组的地址取值等于一维数组首元素的地址
二维数组
aa:数组名,指针常量,首个一维数组的地址
*aa:首个一维数组的首元素的地址
**aa:首个一维数组的首元素的值
&aa:对二维数组名取地址等于二维数组的地址
*(&aa)= aa: 对二维数组的地址取值等于首个一维数组的地址
三维数组
*(*(*(a + i) + j) + k);
a + i:第i+1个二维数组的地址
*(a+i):第i+1个二维数组的首个一维数组的地址
*(a+i)+j:第i+1个二维数组的第j+1个一维数组的地址
*(*(a+i)+j):第i+1个二维数组的第j+1个一维数组的首元素的地址
*(*(a+i)+j)+k:第i+1个二维数组的第j+1个一维数组的第k+1个元素的地址
*(*(*(a + i) + j) + k):第i+1个二维数组的第j+1个一维数组的第k+1个元素的值
数组指针(在函数传参时使用)
传一维数组名用元素指针收接
传二维数组名用一维数组指针接收