首页 > 试题广场 >

一个由C语言编写的程序占用的内存分为哪几个部分

[不定项选择题]
一个由C语言编写的程序占用的内存分为哪几个部分
  • 栈(stack):由编译器自动分配释放,存放函数的参数值、局部变量的值、返回地址等,其操作方式类似于数据结构中的栈
  • 堆(heap):一般由程序员动态分配(调用mallo()函数)和释放(调用free()函数),若程序员不释放,程序结束时可能由操作系统回收
  • 数据段(data):存放的是全局变量、静态变量、常数。根据存放的数据,数据段又可以分成普通数据段(包括可读可写/只读数据段,存放静态初始化的全局变量或常量)、BSS数据段(存放未初始化的全局变量)
  • 代码段(code):用于存放程序代码

这道题你会答吗?花几分钟告诉大家答案吧!