2016 - 2024

感恩一路有你

静态定义 静态变量的作用域是整个文件吗?

浏览量:2513 时间:2021-03-15 07:50:45 作者:admin

静态变量的作用域是整个文件吗?

C语言有两种static变量一种是函数局部作用域的,生命周期长,作用域局限于函数作用域内部,不晚于函数第一次调用的时候初始化。通常用于统计函数调用次数等。另一种是文件局部作用域的,是file local的,可以实现文件级别的数据封装,功能等同于C 里的匿名命名空间。C 里类有static成员变量,代表这个变量是类所有而非某个对象所有。

C语言中,哪种存储类的作用域与生命周期是不一致的?

局部静态(static)变量,作用域为局部,而生命周期是全程。

静态局部变量属于静态存储方式,它具有以下特点:

(1)静态局部变量在函数内定义,但不象自动变量那样,当调用时就存在,退出函数时就消失。静态局部变量始终存在着,也就是说它的生存期为整个源程序。

(2)静态局部变量的生存期虽然为整个源程序,但是其作用域仍与自动变量相同,即只能在定义该变量的函数内使用该变量。退出该函数后, 尽管该变量还继续存在,但不能使用它。

静态定义 自动变量的作用域 变量作用域和寿命

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。