c++ int (*a)[20]与int *a[20]有什么区别吗求详解

 我来答
pieryon
2017-08-30 · 知道合伙人数码行家
pieryon
知道合伙人数码行家
采纳数:14410 获赞数:166874
获取软件设计师高级职称 万达金融最佳创新奖

向TA提问 私信TA
展开全部
int (*a)[20]是数组指针,int *a[20]是指针数组,区别详解
顾名思义就是存放指针的数组。整个a是一个数组,里面的元素都是指针,如果想把某个指针存入这个数组可以使用这样的方法:a[i]=p,其中p是一个普通指针,i是偏移址。这个意思是把一个指针P存入第a数组中的第i+1个元素的位置。那么再看你的问题
1)a[0]是指针数组第一个元素,它是一个指针。
2)*a[0]是读取a[0]中的内容,前面说了a[0]是存在数组a的第一个元素,那么读取这个元素也就是读取存在a[0]的指针的内容,比如a[0]存放了指针p,而p=&x,而x=5;那么,读取指针P的时候会读出X的值就是5.
3)&a[0]意思是把a[0](一个指针)取地址,这个地址自然就是a。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式