C语言 怎么用指针输出一个二维数组的全部值
1个回答
展开全部
C语言的数组(不管多少维)在内存中都是线性储存的。所以用一级指针加偏移就可以访问所有元素。
举个例子,有一个10*10的二维数组a,这样就可以输出:
int a[10][10];
int *p = (int *)a;
int i;
for (i = 0; i < 10 * 10; i++)
printf("%d", *(p + i));
更多追问追答
追问
大神,你可以直接告诉我如果一个指针是指向二维数组的首地址该怎么输出吗
追答
上面的p就是指向二维数组的首地址(a),如果你是想用指向数组的指针来输出的话,这样写:
int a[10][10];
int (*p)[10] = a;
int i, j;
for (i = 0; i < 10; i++)
for(j = 0; j < 10; j++)
printf("%d", *(*(p + i) + j));
这个p是指针,指向一个存储10个整数的数组。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询