*a[2] 二维数组#includemain(){int a[3][5]={1,2,3,4,5,6,7,8,9,10,11,12};printf(%d,*a[2]); }*a[2]求详解
网友回答
C 语言语句中 的 中括号,不是标点符号,而是 运算符!
牢记 恒等式: x[i] == *(x+i);
这是C 语言语句中 指针和数组,数组和指针的 恒等关系.
牢记,牢记,它的益处,你将享用不尽.
----------------
printf(%d,*a[2]);
里,*号表示指针指向的值,也就是输出 a[2] 指针指向的 值: *(a[2]).
*(a[2]) = *(a[2] + 0)
对照恒等式 右边,a[2] 相当于 x, 0 相当于 i
变出 左边 x[i] = a[2][0];
所以 printf(%d,*a[2]);
就是 printf(%d,a[2][0]);
声明 int a[3][5]={1,2,3,4,5,6,7,8,9,10,11,12,0,0,0 };
语句里的 a[2][0] 相信你 会轻而易举地 找出来是 11.