定义数组杜绝用变量来作为其长度。
用宏定义可以提高代码的移植性和维护性。
将数组初始化为0:int a[ ] = {0};或者memset(a,0,sizeof(a));
一维数组名是指针常数(不能自加),保存的是数组首元素的地址。
&a:对一维数组名取地址等于一维数组的地址;
*(&a) = a;:对一维数组的地址取值等于一维数组首元素的地址;
a:一维数组首元素的地址;
aa:首个一维数组的地址;
*aa:首个一维数组的首元素的地址;
&aa:首个一维数组首元素的值;
*(&aa)= aa: 对二维数组的地址取值等于首个一维数组的地址;
*(*(*(a + i) + j) + k):
a + i:第i+1个二维数组的地址;
*(a+1):第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)个元素的地址的值;
一维数组作形参默认转化为一维指针;
传一维数组名用元素的指针来接;传二维数组名用一维数组指针来接。