#include <stdio.h>
int main()
{
int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
int *p;
for (p=a[0];p<a[0]+12;p++)
printf("%4d",*p);
}
这个程序中,a和 a[0]的值相同,但类型不同。
为什么?都是什么类型的 不是很懂。
#include <stdio.h>
int main()
{
int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
int *p;
for (p=a[0];p<a[0]+12;p++)
printf("%4d",*p);
}
这个程序中,a和 a[0]的值相同,但类型不同。
为什么?都是什么类型的 不是很懂。
关注【以下回答由 GPT 生成】
在C语言中,变量a是一个二维整型数组,它的类型是int[][4]。而变量a[0]是数组a的第一行(也可以看作是一个一维数组),它的类型是int[4]。
具体来说,a是一个有3行4列的二维数组,每个元素都是一个int类型的整数。a[0]是数组a的第一行,也就是长度为4的一维数组。a[0]的值是{1, 2, 3, 4}。
为了更好地理解这个程序,我们可以分析一下程序的运行过程:
总结来说,变量a和a[0]的类型都是整型数组,但是它们分别代表了二维数组a和一维数组a[0]的不同维度。而a[0]的值就是a这个二维数组的第一行。
【相关推荐】