版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
1. 内存分配
int a; //分配4个字节的内存
int b[10]; //分配40个字节的内存
2. b与&b的区别
b与&b所代表的数据类型不一样,b代表首元素的地址,&b代表整个数组的地址。
3. 数组与指针之间的转换
int a[3][5];
1. (a+i) ==> 表示第i行的地址,二级指针
2. *(a+i) ==> 表示第i行首元素的地址,一级指针
3. *(a+i)+j ==> 等价于&a[i][j]
4. *(*(a+i)+j) ==> 等价于a[i][j]元素的值
5. a[i][j] <==> 等价于*(*(a+i)+j)
6. a[i] ==> a[0+i] ==> *(a+i)
7. a[i][j] ==> a[0+i][j] ==> *(a+i)[j] ==> *(a+i)[0+j]
==> *(*(a+i)+j)