局部变量和全局变量


全局变量和局部变量的定义和变量在函数部分的位置息息相关。在函数内的变量——局部变量,在函数外的变量——全局变量(外部变量)和全局变量和局部变量相关的有一个词叫做“变量的作用域”。变量的作用域:变量起作用的范围,可以用药效来类比。

C语言中变量和函数都有两个属性:数据类型和存储类别。存储类别是数据在内存中的存储方式。主要分两大类:静态存储类和动态存储类。具体包含四种:auto、static、register、extern。

auto

auto是最常见的类型。深藏功与名,不说就是auto。

static

        分为:静态局部变量(static+局部变量)、静态全局变量(static+全局变量)

静态局部变量在函数调用之后的,随着函数调用结束系统不会将变量的空间释放掉。房子不会推倒,屋子里的东西完好无损。

静态全局变量只限于在本文件引用,而不被其他文件引用。肥水不流外人田。

register

extern

在同一个文件中扩展外部变量的作用域。

int main()
{
      int a  = 0;
      char b = 0;
      extern int  A , B;  //declearation
      a += A;
}

int A = 1 , B = 9; //defination

int fun()
{
	return 1 ;
} 
跨文件 扩展外部变量的作用域。

额就写到这吧。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值