c的内存归纳

 

c语言的变量具有区间性的作用域。在开发一些小程序的时候,也行我们并不在意作用域的必要性。可是,当我们书写上万行代码的时候,没有作用域肯定是不行的。

所以呢,我在这里把C的作用域相关东西总结一些。

一、C的作用域

1.全局变量:在函数之外什么的变量,默认地会成为全局变量。全局变量在任何地方都是可见的。当程序被分割为多个源代码文件进行编译时,声明为全局变量的变
量也是可以从其他源代码文件中引用的。

2.文件内部的静态变量:就算对于像全局变量那样被定义在函数外面的变量,一旦添加了static,作用域就只限定在当前所在的源代码文件中。

3.局部变量:局部变量是指在函数中声明的变量。局部变量只能在包含它的声明的语句快中被引用。局部变量通常在函数的开头部分进行声明,但也可以在函数内部某语句
块的开头进行声明。例如,在“交换两个变量的内容时,需要使用一下临时变量”的情况下,将局部变量声明放在当前语句块开头还是比较方便的。

二、存储期

1、静态存储期:全局变量、文件内部的staitic变量、指定static的局部变量都持有静态存储期,这些变量都统称为静态变量。持有静态存储期的变量的寿命从程序运行时开始

到程序关闭时结束。换句话说,静态变量一直存在于内存的同一地址上。

2、自动存储期:没有指定static的局部变量,持有自动存储期。这样的变量被称为自动变量。持有自动存储期的变量,在程序运行进入它所在的语句块时被分配内存区域,

该语句块自动执行结束后这片内存区域被释放。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值