#include<stdio.h>
int main()
{
static int a[5] = {2,4,6,8,10};
int *p=a,**k,z;//p为一级指针,k为二级指针,p中存的是数组首地址。
k=&p; //k为二级指针,其中存的是p的地址。
z=*p;//将p指向的空间的值赋给z,z等于2.
p=p+1;//将p指向下一空间,也就是指向4.
z=z+**k;//*的优先级高,所以原式等于z=z+(**k),p指向的是4,由于k中存的是p的地址,所以**k的值现在是4.所以2+4=6
printf("%d\n",z);
return 0;
}
这个涉及二级指针,所以不好理解! |