各位先进大家好:
int a[5] = {1,2,3,4,5};
int *ptr = (int *)(&a+1);
value of *ptr-1 = ??
这边我把它印出来发现是 32766
但是不太懂为什么
&a 跟 a 都是阵列的起始内存位置
所以我猜*ptr-1 会等于 2-1=1才对啊?!
有请高手分析
谢谢!
※ 编辑: kumusou (39.13.28.164), 05/22/2014 18:42:35
※ 编辑: kumusou (39.13.28.164), 05/22/2014 18:43:47
作者: remizu (remizu) 2014-05-22 19:07:00
&a的type是int[5] &a+1会加一个int[5]的size所以这里 ptr是指向a+5的那个位址更正一下 &a的type应该是int(*)[5]