指针 数组

为什么输出的是5 不懂

根据数组定义形式;
则 &a 表示一个二级指针,不过是指向 a[0] 的位置
&a + 1的话,也是一个二级指针,则根据指针加1的规则,则&a+1向后偏移一个(此例中) 数组a的位置,
也就是指向了a[4]后面的位置,相当于a[5]的位置(此时如果访问这个空间会报段错误)
然后将它强制转化为int *类型指针赋值给pc,
pc-1则向前偏移一个int位置,故此时 pc-1指向了a[4],也就是变量值为5的位置
所以*(pc-1)的值则为 5
温馨提示:答案为网友推荐,仅供参考