|
#include <iostream>
using namespace std;
void main()
{ int a[3][4]={0,1,2,3,4,5,6,7,8,10,11};
int *p;
p=a[0];
cout<<p<<endl<<a<<endl<<a[0][0]<<endl<<a[0]<<endl;
cout << typeid( a ).name() << endl; //下面分别为a,a[0] 的类型
cout << typeid( a[0] ).name() << endl;//
}//
//同样可以看下面:
#include <iostream>
using namespace std;
void main()
{ int a[3]={0,1,2};
int *p;
p=a;
cout<<p<<endl<<a<<endl<<a<<endl;
cout << typeid( a ).name() << endl;
cout << typeid( a[0] ).name() << endl;
}
int a[3][4];
int *p;
这两个a、p类型不兼容,当然不能直接赋值,除非p = (int*)a强制转换,转换后int (*p)[4],int a[3][4];这样的话,两个类型就兼容了。 |
|