C语言——static的三大用法

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

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

一、局部静态变量

定义

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

参考代码

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

使用场景

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

静态变量有什么作用?

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

二、全局静态变量

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

三、静态函数

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

相关推荐
你怎么知道我是队长2 小时前
C语言---头文件
c语言·开发语言
期待のcode2 小时前
Java虚拟机的运行模式
java·开发语言·jvm
hqwest2 小时前
码上通QT实战25--报警页面01-报警布局设计
开发语言·qt·qwidget·ui设计·qt布局控件
a程序小傲2 小时前
京东Java面试被问:动态规划的状态压缩和优化技巧
java·开发语言·mysql·算法·adb·postgresql·深度优先
HellowAmy2 小时前
我的C++规范 - 玩一个小游戏
开发语言·c++·代码规范
3有青年3 小时前
nios ii 中 ‘ALT_CPU_FREQ‘ could not be resolved的分析和解决办法
c语言·fpga开发
徐先生 @_@|||3 小时前
Palantir Foundry 五层架构模型详解
开发语言·python·深度学习·算法·机器学习·架构
tang777894 小时前
爬虫如何绕过绕过“5秒盾”Cloudflare:从浏览器指纹模拟到Rust求解之不完全指南
开发语言·爬虫·rust·cloudflare
Yuer20254 小时前
什么是 Rust 语境下的“量化算子”——一个工程对象的最小定义
开发语言·后端·rust·edca os·可控ai
hqwest4 小时前
码上通QT实战26--系统设置01-系统设置布局
开发语言·qt·qss·qt基础控件·qt布局控件·qt表格控件