C程序的内存分配区域

来源:互联网 发布:网络咨询医生聊天技巧 编辑:程序博客网 时间:2024/05/02 05:03

C程序一直由下面几部分组成:

1 正文段  :是CPU执行的机器指令部分;正文段通常是共享的,程序执行的时候是在内存中保持一份副本;正文段常常是只读的,这是为了防止程序意外操作破坏正文段

2 初始化数据段:就是通常所说的数据段,保存了程序中需要明确赋初值的变量,如出现在任何函数之外的申明  int cout = 24;

3 非初始化数据段:通常称为bss段,命名来自早期汇编的运算符,   “block started by symbol”(由符号开始的块),特点是在程序开始之前,内核将此段初始化为0或空指针, 如出现在任何函数之外的申明  int array[100];

4 栈: 自动变量和每次函数调用所需保存的信息都放在此段中,每次调用时其返回地址以及调用者的环境信息都保存在栈空间

5 堆: 一般是进行动态存储分配的区域

原创粉丝点击