中易网

c语言中*(*(p+1)+2) 什么意思?具体怎么表示的?

答案:5  悬赏:60  
解决时间 2021-01-13 15:48
  • 提问者网友:流星是天使的眼泪
  • 2021-01-12 19:16
c语言中*(*(p+1)+2) 什么意思?具体怎么表示的?
最佳答案
  • 二级知识专家网友:夜风逐马
  • 2021-01-12 20:24
以这种写法来看 p至少是**型 即指向指针的指针
比如int **
这句话代表的含义是
对p右移一个单位
取值
对该值所代表的地址右移2个单位
对该地址取值

指针移动若干个单位,所增加的地址值取决于指针的类型
通用公式为 T *p; p+n = p的值+ n*(sizeof(T))
全部回答
  • 1楼网友:琴狂剑也妄
  • 2021-01-12 23:13
就是p[1][2]
  • 2楼网友:何以畏孤独
  • 2021-01-12 23:02
这个说起来就多了 推荐你看一下谭浩强的C语言 那个不错
  • 3楼网友:猎心人
  • 2021-01-12 21:51
*是解指符号;
用了两次**,p至少是指针的指针;
  • 4楼网友:琴狂剑也妄
  • 2021-01-12 20:29
这个在二维数组里面很常见,比如说一个二维数组是
int a[2][3] ;
int (*p)[3] = a;
那么*(*(p +1)+ 2)
先是*(p+1)表示a[1]
然后*(p +1)+ 2表示&a[1][2]
所以*(*(p +1)+ 2)表示a[1][2]
中结如下
行地址:a+1 &a[1] &&a[1][0]
列地址:a[1] a[1]+0 *(a+1) *(a+1) +0 &a[1][0]
元素值:a[1][1] *(*(a+1)+1) *(a[1]+1)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息