• 栈的增长方向是向下增,但我测试结果是向上增。求解答!
  • 其它
    1.00元

为了测试栈的增长方向,测试源程序是

* #include<stdio.h>
*
* int main(void)
*
* {
*
*     /*在栈上分配*/
*
*     int i1=0;
*
*     int i2=0;
*
*     int i3=0;
*
*     int i4=0;
*
*     printf("栈:向下\n");
*
*     printf("i1=%p\n",&i1);
*
*     printf("i2=%p\n",&i2);
*
*     printf("i3=%p\n",&i3);
*
*     printf("i4=%p\n\n",&i4);
*
*     return 0;
*
* }

显示结果是

栈:向下

i1=0x7ffdc7b44f98

i2=0x7ffdc7b44f9c

i3=0x7ffdc7b44fa0

i4=0x7ffdc7b44fa4

从结果看,地址是变大的,说明是向上增长啊。

但是,书上都说,栈是向下增长的,地址是变小的。为啥我的不一样呢?

我用的是gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)。


  • 旺盛的绿萝    2020-05-12 10:43:38
  • 阅读 1473    收藏 0    回答 1
  • 邀请
  • 收藏
  • 分享
发送
登录 后发表评论
  • 51testing软件测试圈微信