C语言——static的三大用法

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

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

一、局部静态变量

定义

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

参考代码

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

使用场景

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

静态变量有什么作用?

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

二、全局静态变量

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

三、静态函数

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

相关推荐
海兰几秒前
【 Python 量化交易】第8章:量化工具箱
开发语言·python
牛油果子哥q2 分钟前
C++大型项目工程精讲:CMake完整实战、静态库&动态库、模块化拆分、单元测试、gdb调试、性能工具、工程踩坑全解
开发语言·c++·单元测试
Dream Cosmos4 分钟前
C++ 多态上篇:从 virtual 到抽象类,彻底理解多态的使用
开发语言·c++
TheBestRucy5 分钟前
Python九阳神功之柒:数据分析三剑客·执剑问道
开发语言·python·数据分析
qq_3391911424 分钟前
go cpu占比高排查,cpu100%排查,go pprof cpu命令
开发语言·后端·golang
西西弗Sisyphus28 分钟前
Qt 配置文件图标和文件版本信息
开发语言·qt
AAA代码批发商34 分钟前
Days37 Linux C 网络编程:UDP、TCP 与 HTTP 协议实战详解
linux·c语言·网络
秋田君35 分钟前
Qt_Qt(c++)开发中常见错误与解决方法
开发语言·c++·qt
夏霞1 小时前
c# 不支持的目标框架 解决方案
开发语言·c#
雄哥0071 小时前
java代码反编译CFR
java·开发语言·反编译·cfr