关于c++中对int *pa[5]的理解
有一道题是这么说的:对于int*pa[5]的描述,正确的是(A)A)pa是一个指向数组的指针,所指向的数组是5个int型元素首先这是一个指针数组,那么照这样说指针数组所保...
有一道题是这么说的:对于int *pa[5]的描述,正确的是(A)
A)pa是一个指向数组的指针,所指向的数组是5个int型元素
首先这是一个指针数组,那么照这样说指针数组所保存的指针是数组指针,这样认为对吗?那数组的每一个对应元素都能指向整个数组了吗?还是我对这道题答案的理解有问题?
我是个刚学C++的新手,麻烦讲的通俗些详细些,谢谢了 展开
A)pa是一个指向数组的指针,所指向的数组是5个int型元素
首先这是一个指针数组,那么照这样说指针数组所保存的指针是数组指针,这样认为对吗?那数组的每一个对应元素都能指向整个数组了吗?还是我对这道题答案的理解有问题?
我是个刚学C++的新手,麻烦讲的通俗些详细些,谢谢了 展开
4个回答
展开全部
额,答案好像是错误的。
这个其实要看变量优先和谁结合。举个例子:
例如 int * pa[5] 和int (*pa)[5]
int * pa[5] 默认[]要先结合,所以先可以得到pa[5],即pa是一个大小为5的数组
然后表达式剩下int * , 即表示数组中存储的是int型的指针。
综合就是pa是个指针数组,数组大小为5
而对于int (*pa)[5],括号优先级别最高 得到(*pa) ,表示pa是一个指针
然后是外部的数组符号,表示pa指向的是一个数组,数组的大小是5
最后是那个int ,表示数组中存储的是int型的数据。
综合就是pa是个数组指针,指向的数组为5个int型的元素,这个才会选A选项的那个答案。
展开全部
对于 int a;你是知道 a是int型的; 对于int* a; 你是知道a是指向int型的point; 对于int a【】;你是知道他是一个数组,a point向数组的第一个元素的;那么对于int *pa[5]的理解就是 a【5】指向int型的,但p【5】又是数组,所以他是个point 数组,并且有5个元素!!
我怀疑你的答案是错了,还是你说的是int (*pa)[5]的理解,对于他就是你答案的理解!!!!
我怀疑你的答案是错了,还是你说的是int (*pa)[5]的理解,对于他就是你答案的理解!!!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
眼睛的湿润 的回答我感觉是正确的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询