二维数组a[3][4],为什么不能int *p=a ?
#include<iostream>usingnamespacestd;intmain(){inta[3][4]={{1,2,3,4},{5,6,7,8},{9,9,9,...
#include<iostream>
using namespace std;
int main()
{
int a[3][4]={{1,2,3,4},{5,6,7,8},{9,9,9,9}};
int *p=a;//cannot convert `int (*)[4]' to `int*' in initialization,为神摸?
cout<<p<<endl;
return 0;
} 展开
using namespace std;
int main()
{
int a[3][4]={{1,2,3,4},{5,6,7,8},{9,9,9,9}};
int *p=a;//cannot convert `int (*)[4]' to `int*' in initialization,为神摸?
cout<<p<<endl;
return 0;
} 展开
2个回答
展开全部
这是个指针类型的问题,int *p中p的类型是int *型,二维数组名a可以看做是int **型的,你把int *p=a[0]就好了,a[0]在这里是一级指针;或者int *p=*a;
更多追问追答
追问
谢谢
追答
int a[3][4]={a[0],a[1],a[2]};
a[0]={1,2,3,4},
a[1]={5,6,7,8},
a[2]={9,9,9,9}
这样你就懂了!呵呵。。。a是指向数组的指针,而int *p是指向整型的指针
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询