c语言中的static的用法

来源:这里教程网 时间:2026-02-21 16:47:44 作者:

C语言中的

static
用法

什么是

static

static
是一个关键字,用于修饰变量、函数或类成员,表示其具有静态作用域。

变量的

static
作用域

立即学习“C语言免费学习笔记(深入)”;

对于变量,

static
表示:

内部链接:
static
变量只能在声明它的文件内访问。
保留值:
static
变量在程序结束之前一直保留其值,即使它所在的函数已经退出。
默认初始化:全局
static
变量被初始化为0,局部
static
变量被初始化为垃圾值。

函数的

static
作用域

对于函数,

static
表示:

内部链接:
static
函数只能在声明它的文件内调用。
局部作用域:
static
函数的局部变量具有与
static
变量相同的内部作用域和值保留特性。

类成员的

static
作用域

对于类成员,

static
表示:

类作用域:
static
类成员属于整个类,而不是任何特定对象。
共享数据:所有类实例共享同一份
static
类成员。
常量:
static const
类成员可以声明为编译时常量。

何时使用

static

使用

static
的常见场景包括:

限制变量或函数的可见性 保留函数局部变量的状态 在类中使用共享数据 声明编译时常量

示例

<code class="c">// 外部变量,全局可见
int external_var = 10;
// 静态变量,仅在本文件中可见且保留其值
static int static_var = 20;
// 静态函数,仅在本文件中可见且局部变量保留其值
static void static_func() {
    static int local_var = 30;
    local_var++;
}
// 静态类成员,所有对象共享
class MyClass {
public:
    static int shared_var = 40;
};</code>

相关推荐