测试环境 VC++6.0
C程序由下面5部分组成:
1)栈——增长方向:自顶向下增长;存放局部变量和函数的参数值。在程序运行时由编译器自动分配释放。
2)堆——动态存储区(由malloc,new分配)。是向高地址扩展的数据类型,是自下向上的扩展方式。一般由程序员释放,若程序员不释放,在程序执行结束时由OS收回。
3)未初始化数据段(bss段)——存放未初始化的全局变量和未初始化的静态变量。
4)初始化数据段(数据段)——存放初始化的全局变量和初始化的静态变量。
5)代码段:存放程序的二进制代码。
1、静态区存储变量由低地址到高地址。
2、栈区存储变量由高地址到低地址。
3、无论是全局还是局部数据,大标元素放在高地址中。
静态全局未初始化(变量和数组)和静态局部未初始化(变量和数组)放在同一区域。
静态全局已初始化(变量和数组)和静态局部已初始化(变量和数组)放在同一区域。