【C语言】static关键字的三种用法

【C语言】static关键字的三种用法

C语言中的static关键字是一个存储类说明符,它可以用来修饰变量和函数。static关键字的主要作用是控制变量或函数的生命周期和可见性。以下是static关键字的一些主要用法和含义:

  1. 局部静态变量

    • static修饰局部变量时,它将变量的生命周期从函数调用的开始延伸到程序的结束。这意味着静态局部变量在函数调用结束后不会消失,而是保持其值,直到程序结束。
    • 静态局部变量只在声明它的文件内部可见,即它们具有文件作用域。

    示例:

    c 复制代码
    void func() {
        static int var = 10; // 静态局部变量
        ++var;
        printf("%d\n", var);
    }

    每次调用func()时,var的值都会增加,因为它在函数调用之间保持其值。

  2. 全局静态变量

    • static修饰全局变量时,它将变量的可见性限制在声明它的文件内部,即它具有内部链接。这意味着其他文件无法访问这个变量,即使它在其他文件中被声明为extern

    示例:

    c 复制代码
    static int global_var = 20; // 只在当前文件可见
  3. 静态函数

    • static修饰函数时,它将函数的可见性限制在声明它的文件内部。这意味着该函数不能被其他文件调用,它具有内部链接。

    示例:

    c 复制代码
    static void my_function() {
        // 函数体
    }

    my_function()只能在声明它的文件中被调用。

相关推荐
南风木兮丶4 分钟前
Vue 项目安装 @antfu/eslint-config 保姆级教程
前端·javascript·vue.js
啊?啊?6 分钟前
C/C++练手小项目之倒计时与下载进度条模拟
c语言·开发语言·c++
万少17 分钟前
记 HarmonyOS 开发中的一个小事件 怒提华为工单
前端·harmonyos
未来之窗软件服务18 分钟前
万象EXCEL开发(六)excel单元格运算逻辑 ——东方仙盟金丹期
前端·excel·仙盟创梦ide·东方仙盟·万象excel
Mintopia25 分钟前
🚀 Cesium-Kit:10 秒为你的 Cesium 项目添加动态光效标记
前端·javascript·cesium
Mintopia27 分钟前
🌩️ 云边协同架构下的 WebAI 动态资源调度技术
前端·javascript·aigc
Olrookie29 分钟前
若依前后端分离版学习笔记(十六)——scoped、路由跳转
前端·笔记
qaqxiaolei29 分钟前
高效办公利器:前端实现表格导出excel格式 + 自定义水印的完整方案
前端·javascript
叫我詹躲躲31 分钟前
为什么Bun.js能在3秒内启动一个完整的Web应用?
前端·javascript·bun
Olrookie32 分钟前
若依前后端分离版学习笔记(十七)——ruoyi开发规范&流程,请求流程,依赖引入,组件注册&通信
前端·笔记