请选择 进入手机版 | 继续访问电脑版
贠老师培训群:150322713    贠老师QQ:767708506

贠老师office培训-excel学习网

 找回密码
 立即注册
点击咨询贠老师
查看: 179|回复: 8

[C语言] C语言变量作用域和生存期

[复制链接]

3172

主题

3269

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
22893
发表于 2015-12-25 22:58:36 | 显示全部楼层 |阅读模式
C语言的强大功能之一是可以灵活地定义数据的存储方式。C语言从两个方面控制变量的性质:作用域(scope)和生存期(lifetime)。作用域是指可以存取变量的代码范围,生存期是指可以存取变量的时间范围。

作用域有三种:
  • extern(外部的)  这是在函数外部定义的变量的缺省存储方式。extern变量的作用域是整个程序。
  • static(静态的)  在函数外部说明为static的变量的作用域为从定义点到该文件尾部;在函数内部说明为static的变量的作用域为从定义点到该局部程序块尾部。
  • auto(自动的)  这是在函数内部说明的变量的缺省存储方式。auto变量的作用域为从定义点到该局部程序块尾部。
变量的生存期也有三种,但它们不象作用域那样有预定义的关键字名称。
  • 第一种是extern和static变量的生存期,它从main()函数被调用之前开始,到程序退出时为止。
  • 第二种是函数参数和auto变量的生存期,它从函数调用时开始,到函数返回时为止。
  • 第三种是动态分配的数据的生存期,它从程序调用malloc()或calloc()为数据分配存储空间时开始,到程序调用free()或程序退出时为止。

回复

使用道具 举报

2

主题

313

帖子

358

积分

中级会员

Rank: 3Rank: 3

积分
358
QQ
发表于 2015-12-29 21:26:17 | 显示全部楼层
不错的平台,以后需要经常光顾!
回复 支持 反对

使用道具 举报

2

主题

943

帖子

87

积分

注册会员

Rank: 2

积分
87
发表于 2016-1-2 20:51:55 | 显示全部楼层
很不错的帖子,又学到了,力挺
回复 支持 反对

使用道具 举报

2

主题

1067

帖子

156

积分

注册会员

Rank: 2

积分
156
发表于 2016-1-23 16:59:43 | 显示全部楼层
太给力啊 跪谢啊
回复 支持 反对

使用道具 举报

0

主题

923

帖子

45

积分

注册会员

Rank: 2

积分
45
发表于 2016-2-18 12:42:11 | 显示全部楼层
能再解释的细节一些吗,具体的
回复 支持 反对

使用道具 举报

1

主题

345

帖子

364

积分

中级会员

Rank: 3Rank: 3

积分
364
QQ
发表于 2016-2-22 19:32:02 | 显示全部楼层
我是路过的,轻轻飘过
回复 支持 反对

使用道具 举报

2

主题

968

帖子

108

积分

注册会员

Rank: 2

积分
108
发表于 2016-7-13 12:02:06 | 显示全部楼层
还有许多问题不明白,有点恼火啊!
回复 支持 反对

使用道具 举报

8

主题

1033

帖子

88

积分

注册会员

Rank: 2

积分
88
发表于 2016-8-21 20:26:01 | 显示全部楼层
学习贵在坚持哦
回复 支持 反对

使用道具 举报

0

主题

735

帖子

57

积分

注册会员

Rank: 2

积分
57
发表于 2018-11-19 09:54:27 | 显示全部楼层
写的不错,支持一下哟
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



陕ICP备15003731号  

贠老师培训 GMT+8, 2018-12-19 21:29 , Processed in 0.231011 second(s), 32 queries .

快速回复 返回顶部 返回列表