int t[][N]和int (*t)[N],表示的意义是一样的,都是说t是一个指针,
指向一个包含N个元素的整型数组。
现写一小程序,作用是按行输出二维数组的各个元素
#include<stdio.h>
#include<conio.h>
#define N 5 //列数
void printArray(int (*a)[N],int rows)//运行过后再改为int a[][N]试下
{
for(int i=0;i<rows;i++)
{
for(int j=0;j<N;j++)
{
printf("%d ",a[i][j]);
}
printf("\n");//换到下一行
}
}
int main()
{
int a[3][5]={{1,2,3},{3,4,5,6},{5,6,7,8,9}};
//int **b=a;这个赋值不行,因为a是int*[5] 类型
//int (*b)[5]=a;这个可以运行通过
printArray(a,3);
return 0;
}
我用的编译器是C-free,希望这个解释对你有用。
温馨提示:答案为网友推荐,仅供参考