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

C语言 论static和extern关键字

static关键字

static关键字可以声明静态变量和静态函数,以控制变量和函数的作用范围和生存周期。

使用static关键字修饰的局部变量,称为静态局部变量,静态局部变量与全局变量一样存储在内存中的全局静态区。静态局部变量具有如下特点:

(1)静态局部变量只在函数第一次调用时初始化一次并将生命周期延长到整个程序的执行期间。

(2)静态局部变量如果声明时没有初始赋值,系统会自动初始化为零,同全局变量的初始化规则一致。

总结:

使用 static 关键字修饰的全局变量称为静态全局变量。

普通全局变量整个工程可见,其他文件中,使用extern外部声明后,可以直接使用。

静态全局变量当前文件可见,其他文件不可访问,其他文件中可以定义与其同名的变量,两者互不影响。

静态全局变量对于需要编译多个源代码文件的程序,能够有效地降低源文件之间的耦合,避免不同文件同名变量的冲突。

extern 关键字

是 C 语言中用于声明(而非定义)全局变量或函数的关键字,主要解决多文件编程中变量/函数的跨文件共享问题。它的核心作用是扩展变量或函数的作用域,使其能在不同源文件中被访问。

它只能声明普通全局变量


http://www.kler.cn/a/590920.html

相关文章:

  • 透析 HTTP OPTIONS 预检请求
  • 软考中级-数据库-5.4 信息安全与网络安全
  • TCP 通信流程图
  • 使用pyinstaller打包py文件
  • 网络编程套接字【端口号/TCPUDP/网络字节序/socket编程接口/UDPTCP网络实验】
  • [Java微服务架构]1_架构选择
  • RISCV虚拟化环境搭建
  • [快乐学坊management_1] With Cursor | Mysql设计 | 服务接口设计与开发
  • 2、idea里Maven项目如何打成jar或war包
  • 二叉树深度优先搜索:从递归到剪枝六大高频题解析
  • 使用Ajax技术进行动态网页的爬虫(pycharm)
  • 【如何在OpenWebUI中使用FLUX绘画:基于硅基流动免费API的完整指南】
  • 字符串模板(单文件组件、JSX)
  • 3月18号
  • DeepSeek本地部署:从零开始打造安全高效的AI私域环境
  • 基于FPGA的3U机箱温度采集板PT100,应用于轨道交通/电力储能等
  • 【Axios 开发中的代理配置陷阱与解决方案】
  • 从信息熵上看图像
  • Linux 网络基础设置
  • 利用Python爬虫获取Shopee(虾皮)商品详情:实战指南