A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

总是分不明白,
总是感觉下面的才对:
int *p[5];是数组的指针;  
int(*p)[5];是指针的数组; 把指针括起来然后再跟[5],结合,不就是指针的数组吗?
有什么形象的解释吗?优先级的话总感觉括号只把5括在里面了,p在外面啊!
{:2_33:}

1 个回复

正序浏览
1.数组的指针是指向数组的指针,声明方式是 数据类型 (*指针名)[数组长度], 如:int (*p)[5] 用括号将星号和指针名字括起来是因为方括号的优先级比星号高,如果不括起来等价于 int * (p[5]), 这个就是指针数组了;
2.数组指针存储的是数组的地址
回复 使用道具 举报 1 0
您需要登录后才可以回帖 登录 | 加入黑马