当前位置: 首页 > news >正文

static 作用一:修饰全局变量

一、普通全局变量

在 C 语言中,如果你定义了一个全局变量(不加 static),它的 作用域 默认是整个工程的:

  • 可以在其它源文件里通过 extern 声明后使用。
  • 链接器会把它当成全局符号。
// file1.c
int g_var = 0;   // 普通全局变量// file2.c
extern int g_var;
void func() {g_var = 10;  // 可以访问 file1.c 的全局变量
}

二、static 修饰全局变量

  • 如果用 static 修饰全局变量,那么它的 作用域 会被限制在当前源文件(编译单元)。
  • 它不会被其它源文件通过 extern 访问到。
// file1.c
static int g_var = 0;   // 仅 file1.c 可见// file2.c
extern int g_var;       // 错误!找不到,因为 g_var 在 file1.c 里是内部链接

三、意义

  • 限制作用域:变量只在当前源文件可见。
  • 避免命名冲突:不同文件里可以有同名的 static 全局变量,互不干扰。
http://www.dtcms.com/a/355126.html

相关文章:

  • [高并发系统设计] - 搭建高并发高可用的系统 - 学习与探究
  • 美图设计室-AI帮你做设计
  • Windows系统安装stata软件教程
  • 【高等数学】第十章 重积分——第三节 三重积分
  • 如何在API高并发中玩转资源隔离与限流策略?
  • 为什么选择 TDengine?
  • nginx的诞生背景、核心优势、与 Apache 的对比
  • 测试设备:高效维修问题的思维模式与日常提升指南
  • STM32——PWR
  • GitHub宕机处理
  • 向宋江学管理
  • Node.js的特性
  • 【动态规划】简单多状态 dp 问题
  • Day16_【机器学习概述】
  • Windows 7-11通用,这工具让电脑提速300%
  • 【Word】用 Python 轻松实现 Word 文档对比并生成可视化 HTML 报告
  • 《Rust 深度解析:核心概念、产业应用与生态全景报告》
  • 沙箱操作指南
  • 系统设计原则
  • 【Selenium】UI自动化测试框架设计:从项目结构到Base-Page层的最佳实践
  • 1-python 自定义模板导出文档-基础实现
  • 【cursor】提示词示范
  • 瑞芯微RK3568与君正X2600e平台Linux系统CS创世SD NAND应用全解析与驱动架构详解
  • springboot Apache PDFBox 通过路径参数读取文件信息流,并转化为pdf 在网页预览
  • 云计算学习100天-第31天
  • vue table 甘特图 vxe-gantt 实现多个表格的任务互相拖拽数据
  • GitHub 热榜项目 - 日榜(2025-08-28)
  • 鸿蒙banner页实现
  • Docker从零学习系列之Docker是什么?
  • Java有几种文件拷贝方式,哪一种效率最高?