为什么不能将二维数组名赋给另一个指针,然后用另一个指针来操作数组?
先贴下代码
#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;
}
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 编辑 ]
搜索更多相关主题的帖子:
color