为什么不能将二维数组名赋给另一个指针,然后用另一个指针来操作数组?
先贴下代码程序代码:
#include <stdio.h> int main(void) { int a[3][4] = {1,3,5,7,9,11,13,15,17,19,21,23}; int *p; int i, j; p = a; for (i = 0; i <= 2; i++) { for (j = 0; j <= 3; j++) { printf("%5d", *( * ( p + i) + j)); /*这里为什么不可以,换成printf("%5d", *( * ( a + i) + j)); 或*p才能编译,或者定义int (*p)[4]*/ p++; } printf("\n"); } return 0; }
[ 本帖最后由 firewater 于 2015-2-13 18:59 编辑 ]