c语言中内存空间动态布局(堆栈).docVIP

  • 0
  • 0
  • 约5.3千字
  • 约 7页
  • 2017-06-20 发布于湖北
  • 举报
一、c程序存储空间布局 C程序一直由下列部分组成: ??????1)正文段——CPU执行的机器指令部分;一个程序只有一个副本;只读,防止程序由于意外事故而修改自身指令; ??????2)初始化数据段(数据段)——在程序中所有赋了初值的全局变量,存放在这里。 ??????3)非初始化数据段(bss段)——在程序中没有初始化的全局变量;内核将此段初始化为0。 ??????4)栈——增长方向:自顶向下增长;自动变量以及每次函数调用时所需要保存的信息(返回地址;环境信息)。 ??????5)堆——动态存储分。 |-----------| |?????????????????| |-----------| |????栈?????|?? |-----------| |????|??????|? |???\|/?????| |???????????| |???????????| |???/|\?????| |????|??????|? |-----------| |????堆?????| |-----------| |?未初始化??| |-----------| |???初始化??| |-----------| |??正文段???| |-----------| 二、?面向过程程序设计中的static 1.?全局静态变量 ???在全局变量之前加上关键字static,全局变量就被定义成为一个全局静态

文档评论(0)

1亿VIP精品文档

相关文档