7.1.3 变量的存储类型
C语言程序中使用的每个变量都具有两个属性:数据类型和数据的存储类型。变量的数据类型确定了变量在内存中分配存储单元的大小,如char型占1个字节、int型占2个字节、float型占4个字节和double型占8个字节等。
变量的存储类型指数据在内存中的存储方式,变量存储方式分为静态存储方式和动态存储方式。静态存储方式指在程序运行期间分配固定存储空间,在整个程序运行期间保持不变,直到程序运行结束才释放所占有的存储空间。动态存储方式指在程序运行过程中,根据需要,使用时才分配存储空间,使用结束后立即释放,典型的例子是函数的形式参数,函数定义时,形式参数并不分配存储单元,只有在调用时,才给形参分配存储单元,函数调用结束后立即释放所占有的存储单元。
C程序运行时使用的存储空间分为三部分:
(1)程序区
用于存放程序代码。
(2)静态存储区
用于存放程序的全局数据和静态数据。
(3)动态存储区
用于存放以下数据:
函数调用时的现场保护和返回地址,函数的形式参数,自动变量,用于存放动态内存申请所需存储空间的数据。
变量的存储类型决定了变量所分配的存储区的类型,而变量存储区的类型又决定了变量的作用域和生存期。
C语言中变量有四种存储类型:
自动型(auto);
外部型(extern);
静态型(static);
寄存器型(register)。
根据变量的存储类型,分为以下四种类型的变量:
自动变量(auto);
静态变量(static);
外部变量(extern);
寄存器变量(register)。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。