c语言中几种常用变量类型
1.全局变量(外部变量)
在各文件所有函数之外定义的变量。可以被本文件所有函数引用。生存期整个程序
作用域:从定义变量位置起到本源文件(.c)结束。
外部变量作用域扩展:
<1>在一个文件内扩展变量作用域:在定义点之前函数需要引用外部变量时,在引用前加extern声明外部变量(不常用)
<2>将外部变量作用域扩展到其他文件extern int a;:只在一个文件中定义外部变量,在其他文件加extern声明外部变量(即定义时不写extern)
<3>将外部变量作用域限制在本文件中:定义前加关键字static,静态外部变量(多人协作各自写.c文件)
2.局部变量
函数内定义的,生存期
<1>自动变量int a;生存期调用完释放
<2>静态局部变量static int a;:只在编译时赋一次初值(默认0),以后每次调用函数时不再重新赋初值而保留上次函数调用结束时的值。生存期调用完不释放
存放位置:
静态存储区;动态存储区。应该都是RAM