C语言变量的存储类型

点击打开在线编译器,边学边练

在 C 语言中,变量是对程序中数据所占内存空间的一种抽象定义,定义变量时,用户定义变量的名、 变量的类型,这些都是变量的操作属性。不仅可以通过变量名访问该变量,系统还通过该标识符确定变量 在内存中的位置。在计算机中,保存变量当前值的存储单元有两类,一类是内存,另一类是 CPU 的寄存 器。变量的存储类型关系到变量的存储位置,C 语言中定义了 4 种存储属性,即自动变量(auto)、外部变量(extern)、静态变量(static)寄存器变量(register),它关系到变量在内存中的存放位置, 由此决定了变量的保留时间和变量的作用范围。 

变量的保留时间又称为生存期,从时间的角度,可将变量分为静态存储和动态存储两种情况。静态存 储是指变量存储在内存的静态存储区,在编译时就分配了存储空间,在整个程序的运行期间,该变量占有 固定的存储单元,程序结束后,这部分空间才释放,变量的值在整个程序中始终存在;动态存储是指变量 存储在内存的动态存储区,在程序的运行过程中,只有当变量所在的函数被调用时,编译系统才临时为该 变量分配一段内存单元,函数调用结束,该变量空间释放,变量的值只在函数调用期存在。 

变量的作用范围又称为作用域,从空间角度,可以将变量分为全局变量和局部变量。局部变量是在一 个函数或复合语句内定义的变量,它仅在函数或复合语句内有效,编译时,编译系统不为局部变量分配内 存单元,而是在程序运行过程中,当局部变量所在的函数被调用时,编译系统根据需要,临时分配内存, 调用结束,空间释放;全局变量是在函数之外定义的变量,其作用范围为从定义处开始到本文件结束,编 译时,编译系统为其分配固定的内存单元,在程序运行的自始至终都占用固定单元。 


后面,我们将对这四种类型变量逐一展开实例讲解





本文固定URL:https://www.dotcpp.com/course/27

第一章 C语言的过去与未来
第二章 C语言快速入门
第三章 C语言的数据类型
第四章 C语言中的基本输入输出
第五章 运算符和表达式
第六章 C语句和程序流
第七章 函数
第八章 数组
第九章 指针
第十章 复合结构
第十一章 文件操作
第十二章 预处理
第十三章 位运算
Dotcpp在线编译      (登录可减少运行等待时间)