C语言变量定义问题
2014-07-14 22:01
232 查看
变量存储类别
[存储类别说明符] 类型标识符变量 [,变量];
存储类别说明符自动auto(缺省)、静态static、寄存器register、外部extern
Auto系统自动分配,存储在动态区
Static 存储在静态区,并且限定变量的作用域,只能是在定义它的文件内或函数内,其他文件和函数不得调用
Register 涉及反复运算时,将变量存储在CPU内部寄存器,避免每次内存访问,提高效率。实际上寄存器十分有限,且受数据类型限制,所以只在特殊操作中起作用!
Extern 当需要调用另一个文件内所定义的变量时,需要用到extern关键字。假设,
a.c
int a;
static int b;
int main(){ ……. return 0:}
b.c
extern int a;可以引用外部定义的int a
extern int b;不可以引用外部定义的int b,static限定int b只能在a.c中使用
int main(){ ……. return 0:}
[存储类别说明符] 类型标识符变量 [,变量];
存储类别说明符自动auto(缺省)、静态static、寄存器register、外部extern
Auto系统自动分配,存储在动态区
Static 存储在静态区,并且限定变量的作用域,只能是在定义它的文件内或函数内,其他文件和函数不得调用
Register 涉及反复运算时,将变量存储在CPU内部寄存器,避免每次内存访问,提高效率。实际上寄存器十分有限,且受数据类型限制,所以只在特殊操作中起作用!
Extern 当需要调用另一个文件内所定义的变量时,需要用到extern关键字。假设,
a.c
int a;
static int b;
int main(){ ……. return 0:}
b.c
extern int a;可以引用外部定义的int a
extern int b;不可以引用外部定义的int b,static限定int b只能在a.c中使用
int main(){ ……. return 0:}
相关文章推荐
- gcc C语言中变量定义的位置问题
- c语言头文件中定义全局变量的问题
- C语言头文件中定义变量问题
- 关于C语言BSS段问题以及变量定义的解答
- C语言switch case语句中定义变量问题
- C语言头文件中定义变量问题(转)
- C语言switch case语句中定义变量问题
- C语言头文件定义全局变量问题
- 转载:关于C语言头文件的应用问题,主要还是关于全局变量的定义和声明问题
- C语言变量声明问题——变量定义一定要放在所有执行语句/语句块的最前面吗?
- C语言定义了一个结构体怎么分配内存?C\C++中结构体变量与结构体指针内存分配问题?
- C语言switch case语句中定义变量问题
- C语言中全局变量的定义及重复包含问题
- C语言定义了一个结构体怎么分配内存?C\C++中结构体变量与结构体指针内存分配问题?
- C语言变量声明问题——变量定义一定要放在所有执行语句/语句块的最前面吗?
- 关于C语言头文件的应用问题,主要还是关于全局变量的定义和声明问题
- 关于“在C语言中只能在函数前面定义变量”的问题
- C语言switch case语句中定义变量问题
- 【疑问】c语言中变量的集中定义问题
- 变量被重复定义的问题