C语言——static的三大用法

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

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

一、局部静态变量

定义

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

参考代码

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

使用场景

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

静态变量有什么作用?

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

二、全局静态变量

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

三、静态函数

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

相关推荐
techdashen3 分钟前
Go设计取舍之四: map不变时能否并发修改不同value
开发语言·后端·golang
小小小米粒11 分钟前
阿姆达尔定律(Amdahl‘s Law)
java·开发语言
知彼解己12 分钟前
Java 版本演进
java·开发语言·spring boot
风样滴男人哟16 分钟前
PHP特性之反射类ReflectionClass机制
android·开发语言·php
看昭奚恤哭29 分钟前
Flutter 布局核心思想
开发语言·javascript·flutter
IsSh9nj6q1 小时前
Python全栈应用搭建神器magic-dash .新版本介绍
开发语言·python·dash
独隅1 小时前
CLion 在 Linux 上的完整安装与配置使用指南
linux·运维·服务器·c语言·c++·ide
Cachel wood1 小时前
hands-on-modern-rl:动手学强化学习策略梯度reinforce
开发语言·python
wuminyu2 小时前
JUC组件逐层剥离与深度剖析
java·linux·c语言·jvm·c++·算法
蓝斯4972 小时前
一碰即传,重构跨设备文件分享体验
开发语言·python·重构