指针数组和数组指针的的区分(易懂)

int *ptr[3]; 
由于 C++ 运算符的优先级中, * 小于 [],所以 ptr 先和 [] 结合成为数组,然后再和 int * 结合形成数组的元素类型是 int * 类型,得到一个数组的元素是指针,简称指针数组。
指针数组:是一个数组。存放指针的数组。数组中存放的都是某一类型的指针。
int *(ptr[3]);
这个和上面的一样,优先级顺序是 * 小于 (),() 等于 []ptr 先和 [] 结合成为数组,然后再和 int * 结合形成数组的元素类型是 int * 类型,得到一个叫一个数组的元素是指针。
int (*ptr)[3];
这个就不一样了,优先级顺序是 * 小于 ()() 等于 []()[] 的优先级一样,但是结合顺序是从左到右,所以先是 () 里的 *ptr 结合成为一个指针,然后是 (*ptr)[] 相结合成为一个数组,最后叫一个指针 ptr 指向一个数组,简称数组指针。
数组指针:是一个指针。存放指向数组的指针。这个指针存放某一数组的起始地址,数组中存放的都是某一类型的元素

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值