C语言存储类别
2021-07-22 11:46:21 4480 举报
AI智能生成
C语言中,变量的存储类别决定了变量在内存中的存储位置和生命周期。共有四种存储类别:自动(auto)、静态(static)、寄存器(register)和外部(extern)。自动变量在函数内部定义,具有局部作用域,每次函数调用时都会重新分配空间;静态变量在整个程序运行期间都存在,只有一份拷贝,适用于全局变量或需要多次使用的变量;寄存器变量用于加速访问速度,将变量存储在CPU寄存器中,但数量有限;外部变量可以在多个文件中共享,通过在文件头部声明实现。选择合适的存储类别可以提高程序性能和效率。
作者其他创作
大纲/内容
按作用域角度分
局部变量
自动变量,既动态局部变量(离开函数,值就消失)
静态局部变量(离开函数,值仍保留)
寄存器变量(离开函数,值就消失)
(形式参数可以定义为自动变量或寄存器变量)
全局变量
静态外部变量(只限本文件引用)
外部变量(既非静态的外部变量,允许其他文件引用)
按变量的生存期分
动态存储
自动变量(本函数有效)
寄存器变量(本函数内有效)
形式参数(本函数内有效)
静态存储
静态局部变量(函数内有效)
静态外部变量(本文件内有效)
外部变量(用extern声明后,其他文件可引用)
按变量值存放的位置分
内存中静态存储区
静态局部变量
静态外部变量(函数外部静态变量)
外部变量(可为其他文件用)
内存中动态存储区:自动变量的形式参数
CPU中的寄存器:寄存器变量
0 条评论
下一页