我们知道,C程序开发并编译完成后,要载入内存(主存或内存条)才能运行(请查看:
载入内存,让程序运行起来),变量名、函数名都会对应内存中的一块区域。
内存中运行着很多程序,我们的程序只占用一部分空间,这部分空间又可以细分为以下的区域:
内存中运行着很多程序,我们的程序只占用一部分空间,这部分空间又可以细分为以下的区域:
内存分区 | 说明 |
---|---|
程序代码区(code area) | 存放函数体的二进制代码 |
静态数据区(data area) | 也称全局数据区,包含的数据类型比较多,如全局变量、静态变量、一般常量、字符串常量。其中:
注意:静态数据区的内存在程序结束后由操作系统释放。 |
堆区(heap area) | 一般由程序员分配和释放,若程序员不释放,程序运行结束时由操作系统回收。malloc()、 |