数组指针与指针数组的区别

今日掌握新知识点:理解数组指针与指针数组之间的区别

int* p1[10]                                                         int(*p2)[10]

这两个长得很像的玩意就是我们的指针数组和数组指针。区别在于是否加了(),优先级不同导致产生的结果也会不同。

第一个是我们的指针数组,因为没有小括号(),p1先和后面的[10]结合,告诉你p1[10]我们是一个整体是一个数组,什么数组?指针数组。里面有十个元素全都是int*。这个int*就是我们的整形指针,通过这个整形指针我们可以找到一个整形。有十个整形指针我们就可以访问到十个整形。侧重点在于后两个字数组。本质上是一个数组,用来存储指针的这么一个数组,可以是int*,float*,char*......

第二个是我们的数组指针,首先有个小括号,里面p2和前面的*结合告诉你,我们这是一个指针,什么指针呢?哦,指向后面包含了十个元素的数组的这么一个指针,侧重点在于后面两个字指针,通过我们的这么一个指针可以找到对应的数组,所以我们称它为数组指针,可以找到数组的指针。

类比记忆:字符指针char*——>指向字符的指针

                  整形指针int*——>指向整形的指针

                  浮点型指针float*——>指向浮点型的指针

注:数组指针的书写不可省略数组的元素个数

即(不能 int(*p1)[],里面的元素个数不能省略,这个代表了你指针指向数组中的元素个数)

随便记点东西,之后还要补充的

                  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值