C语言第二篇 变量的存储类别

本文介绍了C语言中变量的存储类别,包括动态存储与静态存储方式,详细讲解了auto变量、static局部变量、register变量以及extern声明的外部变量。讨论了各种变量的存储区域、生命周期和使用场景,帮助理解C语言中的内存管理机制。
摘要由CSDN通过智能技术生成

C语言的变量的存储类别

1、动态存储方式与静态存储方式

从变量的作用域角度将C语言中的变量分为局部变量和全局变量两类。实际上,在C语言中,变量的定义分为两个方面,一是变量的数据类型,二是变量的存储类别。

静态存储方式:是指在程序运行期间分配固定的存储空间的方式。动态存储方式:是在程序运行期间根据需要进行动态的分配存储空间的方式。

全局变量全部存放在静态存储区,在程序开始执行时给全局变量分配存储区,程序执行完毕就释放。在程序执行过程中它们占据固定的存储单元,而不动态地进行分配和释放。

2、auto变量

函数中的局部变量,如不专门声明为static存储类别,都是动态地分配存储空间的,数据存储在动态存储区中。函数中的形参和在函数中定义的变量(包括在复合语句中定义的变量)都属此类,在调用该函数时系统会给它们分配存储空间,在函数调用结束时就自动释放这些存储空间。这类局部变量称为自动变量。自动变量用关键字auto作存储类别的声明。

int f(int a)    /*定义f函数,a为参数*/
{
   auto int b,c=3;  /*定义b、c自动变量*/……}

a是形参,b、c是自动变量,对c赋初值3。执行完f函数后,自动释放a、b、c所占的存储单元。关键字auto可以省略,auto不写则隐含定为“自动存储类别”,属于动态存储方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值