文章目录
- 概述
- 一、定义介绍
- 二、功能作用
- (一)static修饰全局变量
- (二)static修饰局部变量
- (三)static修饰成员变量
- (四)static修饰全局函数
- (五)static修饰成员函数
- 三、代码实例
- (一)static初始化被多次调用
概述
本节详细介绍了static修饰符的原理及用法。包括在变量、函数、类内等不同地方的用法。
一、定义介绍
static是C/C++中的静态修饰符,不需要包含头文件。static可以用于修饰:局部变量、全局变量、函数、类成员变量、类成员函数等。static修饰的数据在内存中都存放于全局区(一般数据根据是全局还是局部有可能放全局区,有可能放栈区),因此只要程序不结束,该区数据就不会被释放。此外,被static修饰的变量和函数只能在该文件中访问,不能在其他文件中访问。
如果你只声明了一个静态变量但没有初始化,由于它将会存在于全局未初始化区,而该区域会在程序开始前自动给未初始化的变量初始化为0,因此,声明过的静态变量如果程序员没有初始化,那它会被自动初始化为0,且时间是在程序执行之前。