下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

C语言-变量的寿命

作者:课课家教育     来源: http://www.kokojia.com点击数:1075发布时间: 2015-12-08 13:39:25

标签: 编程语言程序调用程序结束

大神带你学编程,欢迎选课

  在所有的编程语言中变量是有寿命的,就像我们人类似的到了一定岁数就要驾鹤西去。这篇我们就讲讲变量的寿命。

  说到变量的寿命(术语叫做生命周期),那么和它息息相关的就是变量的作用域了。一般来说作用域越大,活的时间越长,作用域越小,活的时间越短,但是并不绝对。那么什么是作用域呢?简单理解就像游戏中你的角色的攻击范围。

  作用域有哪几种?

  auto(自动的): 这是函数内部定义变量的缺省存储方式。auto变量的作用域为从定义点到该局部程序块尾部,作用域结束该类型的变量所占用的内存就会被释放。

C语言-变量的寿命_编程语言_程序调用_程序结束

  static(静态的): 在函数外部说明为static的变量的作用域为从定义到该文件尾部;在函数内部说明为static的变量的作用域为从定义到该局部程序块尾部。该种类型的变量程序结束所占用的内存才会释放。

  extern(外部的): 这是在函数外部定义的变量的缺省存储方式。extern变量的作用域是整个程序。该种类型的变量也是程序结束所占用的内存才会释放。

  所以根据作用域的不同变量可以分为局部变量和全局变量。局部变量用完就会释放(静态局部变量除外),全局变量程序结束才会释放所占内存。

  生命周期有哪几种?

  根据作用域的不同,生命周期可以分为三种:

  extern和static修饰的变量生命周期比较长,它从程序开始执行开始,到程序退出时为止。依赖整个程序的执行时间。

  函数型参和auto变量的生命周期较短,函数开始它的生命开始,函数结束它的生命也就结束了。依赖于函数的执行时间。

  动态分配数据的生命周期也是动态的,它从调用malloc()或calloc()为数据分配存储空间时开始,到程序调用free()或程序退出时为止。文章学习完是不是意犹未尽,还有很多地方不懂更多视频教程尽在课课家官方网站,让我们一起沉浸在知识的海洋。

赞(0)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程