Advertisement

C语言基础语法(八):局部变量(非静态) 静态局部变量 静态局部存储器 auto(extern static register) 全局与静态全局存储器

阅读量:
类型 作用域 生命周期 存储位置
auto变量 一对{}内 当前函数 栈区
static局部变量 一对{}内 整个程序运行期 初始化在data段,未初始化在BSS段
extern变量 整个程序 整个程序运行期 初始化在data段,未初始化在BSS段
全局变量 整个程序 整个程序运行期
static全局变量 当前文件 整个程序运行期 初始化在data段,未初始化在BSS段
extern函数 整个程序 整个程序运行期 代码区
static函数 当前文件 整个程序运行期 代码区
register变量 一对{}内 当前函数 运行时存储在CPU寄存器
字符串常量 当前文件 整个程序运行期 data段

一、作用域

C语言中变量的可见范围可分为以下几种类型:

  • 代码块作用域(代码块指的是由花括号{}所界定的代码段)
  • 函数作用域
  • 文件作用域

1、局部变量

局部变量亦称为auto自动变量(其中auto关键字可省略),通常在代码块{}内部声明的变量均属于此类,其具备以下特性:

  • 若在函数内部进行定义,则其作用域仅限于该函数内部
  • 若在复合语句中声明,则其有效范围仅限于该复合语句
  • 随着函数调用的终止或复合语句的完成,局部变量的生命周期也随之终结
  • 若未

全部评论 (0)

还没有任何评论哟~