ARM为递减堆栈,局部变量存放在栈中。那么如果我的程序中有个局部变量数组,INT32U TEMP[16]; <br />int8u main ()<br />{<br />INT32U TEMP[16]; <br />INT32U *p1=&TEMP[0]; <br />INT32U *p2=&TEMP[15]; <br /><br />} <br />虽然肯定知道p2=p1+15,但是为什么p2的值高于p1?局部变量放在堆栈中,堆栈不是递减的吗?如果是TEMP[0]先入栈,他的地址应该高于TEMP[15],难道是TEMP[15]先入栈?<br />可能是我哪里理解错了,恳请大家多多指教,谢谢! |