C语言中的存储类型
C语言中的存储类型
[存储类型] 变量类型 变量名
四种存储类型:
1 auto
auto : 自动存储类型,声明变量生命周期为自动 ,
只修饰局部变量 存储于栈区,作用范围为当前代码块
栈区 : 代码块运行时,被创建,代码块结束,释放回收。
2 static
static: 静态存储类型
static 修饰局部变量时,变为全局变量直到程序结束(生命周期),作用域不变
变存储在静态区,
再次调用函数时,定义变量那句不执行,跳过。
static : 修饰全局变量,如果程序有多个文件组成,只能在本文件内使用
如果文件中的全局变量被static修饰,就会改变链接属性,变为内部链接(默认是外部链接),被修饰后只能在当前文件使用
static 修饰函数,限制函数的作用域,文件作用域,只能在当前文件使用
3 register
register:寄存器存储类型
register修饰局部变量,表示吧局部变量存放CPU寄存器中,但是不一定能存到CPU中。没有存到CPU中和auto一致
4 extem
extem : 外部引用类型,声明外部引用
如果某个全局变量和函数已经定义,文件中使用其他文件的全局变量和函数,通过extem进行外部变量声明引用,执行当前文件的函数时从外部引用。但不能引用static修饰的全局变量和函数。
浙公网安备 33010602011771号