有关指针运算的

int a[]={1,2,3,4,5};
int *p[]={a,a+1,a+2,a+3};
int **q=p;
*(p[0]+1)+**(q+2)

表达式*(p[0]+1)+(q+2)的值?
分析:
在这里插入图片描述
如图所示:int *p[]是一个指针数组,
int *p[]={100,104,108,112,116}
*(p[0]+1) ——>p[0]是指针,值为100,加一就是104,再进行解引用为 2
(q+2)——>q是指向p的指针,加2到108,进行两次解引用到a[2],为 3
因此,表达式
(p[0]+1)+(q+2)**的值为5

猜你喜欢

转载自blog.csdn.net/w1216702236/article/details/84621895
今日推荐