C语言作用域规则 #

一、作用域概述 #

1.1 什么是作用域 #

变量的可见范围和生命周期。

1.2 作用域类型 #

  • 局部作用域
  • 全局作用域
  • 块级作用域

二、局部变量 #

2.1 定义 #

在函数内部定义的变量。

c
#include <stdio.h>

void func() {
    int a = 10;
    printf("func: %d\n", a);
}

int main() {
    func();
    return 0;
}

2.2 特点 #

  • 作用域限于函数内
  • 函数调用时创建
  • 函数返回时销毁

三、全局变量 #

3.1 定义 #

在函数外部定义的变量。

c
#include <stdio.h>

int global = 100;

void func() {
    printf("global = %d\n", global);
}

int main() {
    printf("global = %d\n", global);
    func();
    return 0;
}

3.2 特点 #

  • 整个程序可见
  • 程序开始时创建
  • 程序结束时销毁

四、块级作用域 #

4.1 示例 #

c
#include <stdio.h>

int main() {
    int a = 10;
    {
        int a = 20;
        printf("内部: %d\n", a);
    }
    printf("外部: %d\n", a);
    return 0;
}

五、总结 #

类型 作用域 生命周期
局部变量 函数内 函数期
全局变量 整个程序 程序期
块级变量 代码块内 块期

下一步,让我们学习字符串!

最后更新:2026-03-26