C内存模型(二)

上一篇,我讲了C语言的内存整体分区情况,这篇我以表格的形式说明下不同类型的变量在内存的中的存储:

类型

作用域

生命周期

存储位置

auto局部变量

一对{}内

当前函数

栈区

static局部变量

一对{}内

整个程序运行期

初始化在data段,未初始化在BSS段

extern变量

整个程序

整个程序运行期

初始化在data段,未初始化在BSS段

static全局变量

当前文件

整个程序运行期

初始化在data段,未初始化在BSS段

extern函数

整个程序

整个程序运行期

代码区

static函数

当前文件

整个程序运行期

代码区

register变量

一对{}内

当前函数

运行时存储在CPU寄存器

字符串常量

当前文件

整个程序运行期

data段

 

posted @ 2022-01-02 20:09  独孤九剑yy  阅读(39)  评论(0)    收藏  举报