2022_12_4 指针题目(接近总结)

 题目要求很简单 把该打印出来的写出来就行

首先这题自己的思路是和标准答案出了较大区别的(主要在于我把数组名也看成了一个指针)

以下会以标答思路为准

首先这题我们可以用画图的方式解决会来的更快

首先我们画出了c数组的样子

我们可以知道每一个都是c数组是一个char*的类型

然后我们把cp数组可以看成如图所示

 

 cp中每一个元素都指向c数组中的每一个元素

然后现在我们再把cpp=cp 这里理解为cpp指向c中的元素

现在我们可以开始解决第一个问题了         

 

最开始cpp指向首元素也就是c+3 

在++之后我们就可以将cpp下移一位 如图:

 

我们指向的是c+2 而c+2=point 所以这个时候我们打印的就是point

 现在我们可以开始解决第二个问题

 在第一次解引用后已经就是c+1 这个时候我们在进行--操作

 

 

 这个时候c+1变成了c也就指向了enter 在进行解引用操作之后就完完全全代表着enter

在enter的基础撒谎给你进行+3 我们可以很显然的知道是在首元素地址的前提上进行的+3操作 跟指针+-原则是一样的 所以这个时候我们打印的就是er

下面我们来解决第三个问题

首先我们可以理解*cpp[-2] 这个等于**(cpp-2)

如图

 这个时候在两次解引用后我们就已经是first了 再进行+3操作之后我们打印的就是st了

下面我们来解决第4个问题 同理我们要先理解cpp[-1][-1] =*(*(cpp-1)-1)

这里我们要区分的是在耆那买呢我们的cpp虽然进行了-2的操作 但我们终究没有对cpp进行该改变操作 所以很简单这时候的图就像下图

 这个时候c+指向的是new 最后我们进行了+1操作 指向了ew 所以最后我们打印的也就是ew

综上所述 

打印的4个值就是point er st ew

· 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值