【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()只能在声明它的文件中被调用。

相关推荐
我的青春不太冷1 小时前
深入探讨:服务器如何响应前端请求及后端如何查看前端提交的数据
运维·服务器·前端
16年上任的CTO1 小时前
一文大白话讲清楚webpack进阶——8——Module Federation
前端·webpack·node.js·模块联邦·federation
&白帝&2 小时前
在 Vue 3 中,怎么管理环境变量
前端·javascript·vue.js
Oracle_6663 小时前
C语言------数组从入门到精通
c语言·算法·排序算法
我命由我123453 小时前
Tailwind CSS - Tailwind CSS 引入(安装、初始化、配置、引入、构建、使用 Tailwind CSS)
前端·javascript·css·npm·node.js·js
KrityCat4 小时前
Vue3的el-table-column增加跳转其他页面
开发语言·javascript·vue.js
KrityCat4 小时前
Vue3的el-table-column下拉输入实时查询API数据选择的实现方法
javascript·vue.js·ecmascript
aricvvang4 小时前
web安全 - CSRF
前端·后端·安全
charlie1145141914 小时前
从0开始使用面对对象C语言搭建一个基于OLED的图形显示框架(动态菜单组件实现)
c语言·驱动开发·stm32·单片机·算法·教程·oled