基础较差,找了一本写的比较细的《C语言编程魔法书》系统的复习一下。看到以下代码,但不知道语句“p[0][1][2] += 100;”的p[0]是啥含义?度娘了以下没找到答案,谢谢。
#include <stdio.h>
int main(int argc, const char * argv[])
{ // 声明了一个二维数组a,具有2个元素,
// 其中每个元素为一个int[3]的数组
int a[2][3] = { { 1, 2, 3 }, { 4, 5, 6 } };
// 声明了一个指向二维数组int[2][3]的指针对象p,
// 并用数组a的地址对它初始化
int (*p)[2][3] = &a;
// 修改二维数组元素a[0][0]的值
(*p)[0][0] += 10;
printf("a[0][0] = %d\n", a[0][0]); // 修改二维数组a[1][2]的值
p[0][1][2] += 100;
printf("a[1][2] = %d\n", a[1][2]); // (*p)的大小为2 * 3 * sizeof(int)
printf("size of (*p) = %zu\n", sizeof(*p));
}
--
FROM 111.38.29.*