c语言中的内存分区存储情况

我们在32位计算机上,c语言运行时可以大致分为内核,堆区,栈区,静态区(.data初始化过的全局变量和静态变量,.bss未初始化过的全局变量和静态变量),常量区,代码段。

堆区:由程序员分配(malloc)和释放(free),若程序员不释放,程序结束时由操作系统回收。  栈区:由编译器自动分配和释放,存放函数的参数值,局部变量等。                                                

存储类型 auto,static,extern,register                                                                                               auto:修饰的局部变量,存储在栈区。                                                                                               static:既可以修饰全局变量,又可以修饰局部变量,存放在静态区。                                               extern:修饰全局变量,存储在静态区。                                                                                           register:修饰局部变量,存储在寄存器中。

c语言中的内存分区存储情况_第1张图片

 

你可能感兴趣的:(内存的分区情况,c语言,c++)