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