#include<iostream>
using namespace std;
void main()
{
int a[][3]={1,2,3,4,5,6};
int (*p)[3];
p=a;
cout<<*p<<" "<<p<<endl;
}
#include<iostream>
using namespace std;
void main()
{
int a[][3]={1,2,3,4,5,6};
int (*p)[3];
p=a;
cout<<&*p<<" "<<p<<endl;
}
我们都感到非常奇怪, 怎么都是地址?
经过一番思考原来是行指针的问题,表示二位数组时是二级指针。
#include<iostream>
using namespace std;
void main()
{
int a[][3]={1,2,3,4,5,6};
int (*p)[3];
p=a;
cout<<**p<<endl;
cout<<**(p+1)<<endl;
cout<<*(*(p+1)+1)<<endl;
}