一道一维数组与二级指针的问题

来源:互联网 发布:office for mac下载 编辑:程序博客网 时间:2024/06/06 08:45

深信服科技的笔试题

问:以下程序的运行结果是多少?

一开始,我觉得num是个常量整型指针,那么&num就是个二级指针,那么对二级指针的加减操作会使得指针指向未知的位置,所以结果应该是一个无意义的数字

 

可运行后发现是4!于是输入以下实验代码

终于发现原来&num确实是二级指针,并且由于num指向一维数组,所以&num指向一个二维数组!

&num+1就指向二维数组的第二行,所以转型(将int **转为int *)后就相当于指向num[4]后的第一个位置,所以再减2就指向num[3],既是4!