内存管理:C语言程序的内存模型

  • 内存模型(Memory Model)
    • 程序内存在地址空间中的分布情况称为内存模型
    • 内存模型由操作系统构建,并且会受到编译模式的影响。
  • 内核空间和用户空间
    • Windows默认情况下会将高地址的2GB分配给内核
    • Linux默认情况下会将高地址的1GB分配给内核
  • Linux下32位环境的用户空间内存分布情况
    image

    • 全局变量的内存在编译时就已经分配好了,它的默认初始值是0。
    • 局部变量的内存在函数调用时分配,它的默认初始值是不确定的,由编译器决定,一般是垃圾值。

猜你喜欢

转载自www.cnblogs.com/xiaobaizzz/p/12342487.html