码迷,mamicode.com
首页 > 其他好文 > 详细

栈和堆的地址哪个高

时间:2014-10-04 22:33:17      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   ar   sp   div   c   log   amp   

我们都知道,堆是向到高地址扩展的,栈是向低地址扩展的,那么堆和栈的地址那个高呢?

int _tmain(int argc, _TCHAR* argv[])
{
    int stack_val = 0;
    int* heap_ptr = new int(2);
    printf("stack address = %08x\n", &stack_val);
    printf("heap address = %08x\n", heap_ptr);
    getchar();
    return 0;
}

以上为Windows上的程序,结果栈低于地址,说明windows上内存是中间向两头增长的。

同样的程序在linux上,结果栈高于地址,说明linux上的内存是两头向中间增长的。

栈和堆的地址哪个高

标签:style   blog   color   ar   sp   div   c   log   amp   

原文地址:http://www.cnblogs.com/clark-lee/p/4006395.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!