static 关键字的用法(c语言)
来源:互联网 发布:小米wifi无法加入网络 编辑:程序博客网 时间:2024/05/29 23:44
一、两个重要作用:
1.修饰变量
(1)作用域:
a.静态全局变量:仅限于变量被定义的文件,从定义处开始到文件结尾处结束。(其他文件即使用extern声明也无法使用)要想在定义之前使用它,就必须在之前加extern ***语句。
b.静态局部变量:仅在定义变量的局部作用域内。
(2)生命周期:整个程序的存在周期。
(3)存储空间:静态区
(4)只被初始化一次
下面,来看看下面这段程序,测测你对这个到底理解了多少呢?
<span style="font-size:14px;">#include <stdio.h>#include <stdlib.h>void fun(){static int i = 0;printf("%d ", ++i);}int main(){int j = 0;for(j = 0; j < 10; j++){fun();}system("pause");return 0;}</span>
上面这段程序的输出结果是什么呢?
因为静态变量只被初始化一次,所以这段程序的结果应该是:1 2 3 4 5 6 7 8 9 10
那么,下面这段代码的输出结果又是什么呢?
#include <stdio.h>#include <stdlib.h> static int i = 0;void fun(){i = 10;printf("%d ", ++i);}int main(){int j = 0;for(j = 0; j < 10; j++){fun();}system("pause");return 0;}
输出结果是什么呢???代码有木有和上面很像。然而结果却是截然不同的,这个程序输出10个11。为什么呢?i只被初始化一次,但它可以被多次赋值哦。
2.修饰函数 -->静态函数
改变了函数的作用域:使函数的作用域局限于本文件(又称内部函数),好处是:不同的人编写函数时,不用担心自己定义的函数与其他文件的函数同名。
0 0
- static 关键字的用法(c语言)
- C语言关键字static的用法
- C/C++语言 static关键字的用法
- C语言static关键字的用法
- C++的static关键字/包含C语言的static用法
- static关键字的用法(C++)
- C语言中static关键字的常见用法及举例
- C语言中关键字const、static、volatile的用法分析
- C语言的static关键字
- C语言的static关键字
- C语言中static关键字用法小结
- c语言static的用法
- C 语言 static 的用法
- c语言关键字static
- c语言static关键字
- C语言关键字static
- C语言static关键字
- 关键字static(c语言)
- 【Linux】tar指令用法
- [Android]使用BeanShell实现Android简易科学计算器
- 第三课、key的操作
- PCB走线角度选择 — PCB Layout 跳坑指南
- 离暑假还有一个月
- static 关键字的用法(c语言)
- SQL Server常用管理命令
- SQL限定查询
- c语言学习笔记25之指针1
- Lightoj 1009
- 对java set集合的理解与学习
- Running Android apps using Docker and ARC Welder
- 高通8X16电池BMS算法(二)
- try catch 语句好不好?