网站首页 > 文章精选 正文
c语言static关键字有3种用法
- 全局static变量
在全局变量前加static 此变量作用域被限制在本文件中可见,如果以文件作为模块,变量增加static类似于本模块的私有变量,如果没有初始化此变量的话和全局变量一样默认会初始化为 0。
- 局部static变量
局部static变量为函数内部变量前加static关键字,此变量生存期超越普通局部变量,其实编译器内部实现就是全局static变量,只不过这个全局变量,只能在定义此变量的函数内访问,它的作用域只在此函数中。
- static函数
在函数前面加static关键字和全局变量一样,函数变成私有本文件内有效。
一. 全局static变量
static int a1; //初始化为0, 本文件内有效
int b1; //初始化为0, 可以被外部文件引用
int main(void)
{
printf("%d\n", a1);
return 0;
}
- 局部static变量
void fn1(void)
{
static a1 = 0; //第一次进入此函数调用此语句,再次进入不调用
a1++; //每次进入函数都加1
printf("value a1:%d\n", a1);
}
int main(void)
{
for (int i = 0; i < 10; i++)
fn1();
}
//最终程序会打印出 9
- 全局static函数
static fn1(void) //此函数仅仅在定义此函数的文件中可见,不能被外部文件调用,类似于c++中的私有函数
{
printf("I'm fn1\n");
}
猜你喜欢
- 2025-05-05 一个后勾腿动作,有效疏通血管,改善下肢发麻,促进全身燃脂
- 2025-05-05 大型调相机起动及并网研究(什么是调相机,与发电机区别)
- 2025-05-05 你们都是托:动态对比度其实是骗你的
- 2025-05-05 最容易被忽视的身体素质——柔韧性
- 2025-05-05 减压阀能减静压吗?(减压阀能减静压吗视频)
- 2025-05-05 第6讲-结构设计作用(结构设计的作用)
- 2025-05-05 性能测试必懂的内存知识点(性能测试内存占用一般多少算合格)
- 2025-05-05 不谈源码,聊聊位运算的实际应用(位运算的含义和使用)
- 2025-05-05 元王CAE仿真系列之疲劳分析篇(疲劳仿真软件)
- 2025-05-05 静态混合器在化工中的作用(静态混合器结构)
- 05-05MyBatis的三种分页方式,你学废了吗?
- 05-05如何写一个简单的分页(最简单的分页)
- 05-05详解如何使用Spring Data JPA进行数据的分页与排序
- 05-05手速太快引发分页翻车?前端竞态陷阱揭秘
- 05-05前端分页机制的具体实现(分页前端需要做什么)
- 05-05一个后勾腿动作,有效疏通血管,改善下肢发麻,促进全身燃脂
- 05-05大型调相机起动及并网研究(什么是调相机,与发电机区别)
- 05-05你们都是托:动态对比度其实是骗你的
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 稳压管的稳压区是工作在什么区 (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)