下面程序的输出结果是()
#include<iostream.h>
void main(){
int n[][3] = {10,20,30,40,50,60};
int (*p)[3];
p=n;
cout<<p[0][0]<<","<<*(p[0]+1)<<","<<(*p)[2]<<endl;
} int n[][3] = {10,20,30,40,50,60}; int(*p)[3]; 当程序使用***数组的名字时,也会自动的转换其指向数组首元素的指针。实际上是指向第一个内层数组的指针。
int ia[3][3]={{1,2,3},{4,5,6},{7,8,9}};
int(*p)[3]=ia; //p是int(*)[3]型,是一个指向具有三个元素的一维数组指针。
P=&ia[2];//p指向了ia的尾元素
二维数组在内存中的存放形态不是矩阵。