C语言——static的三大用法

被称为面试爱考爱问题的它到底有何奥义

它难度不大并且非常常用,话不多说,直接开始

一、局部静态变量

定义

在函数内部使用static修饰的变量被称为局部静态变量,与普通的局部变量不同,局部静态变量在使用后不会被销毁,而是保持其值与存在。

参考代码

复制代码
#include <stdio.h>
void fun(int x)
{
    static int a=10;
}

使用场景

如果你需要重复使用一个变量又不想将它声明为全局变量的时候可以使用它。

静态变量有什么作用?

需要统计函数调用次数或记录某个状态的变化的场景下你就知道它的妙处啦~

二、全局静态变量

使用static修饰的全局变量只可以使其在声明所在的文件内可见,这样可以避免与其他文件中相同名称的变量产生冲突

三、静态函数

使用static修饰的函数叫做静态函数,声明所在的文件内部调用,无法被其他文件直接调用。这可以帮助你将一些辅助函数或者实用函数限制在特定文件范围内非常有用。

相关推荐
wjs2024几秒前
PostgreSQL 时间/日期处理指南
开发语言
wniuniu_5 分钟前
ceph心跳机制
开发语言·ceph·php
阿里嘎多学长10 分钟前
2025-12-25 GitHub 热点项目精选
开发语言·程序员·github·代码托管
Oxye16 分钟前
服务器内存不足导致程序没完全起起来,报错Required type must not be null
java·开发语言
乾元18 分钟前
自动化补丁评估与策略回滚:网络设备固件 / 配置的风险管理
运维·开发语言·网络·人工智能·架构·自动化
2501_9167665418 分钟前
【Java】static关键字与类的加载顺序
java·开发语言
山峰哥21 分钟前
SQL查询优化秘籍:从Explain分析到性能飞跃
开发语言·数据库·sql·oracle·性能优化·系统优化
世转神风-27 分钟前
qt-通信协议基础-QStirng转QByteArray-与字节序互动
开发语言·qt
fufu031128 分钟前
Linux环境下的C语言编程(四十九)
linux·c语言·算法
资生算法程序员_畅想家_剑魔31 分钟前
Java常见技术分享-14-多线程安全-锁机制-常见的锁以及底层实现-synchronized
java·开发语言