C语言static用法详解
C 语言里的static
关键词挺有意思,用得好的话,能让代码更安全,也更清晰。不少人以为它只是修饰变量,其实还能用在函数上,效果不一样哦。
函数外面的static
变量,一般是为了“藏”变量。就像你在file2.c
里定义了一个static int n;
,那file1.c
就访问不到,避免了命名冲突,也更好控制变量作用范围。
函数里的static
变量就更常见了,用来做状态保持方便。比如一个static int count = 0;
,每次函数被调都会记得上次的值,适合写个计数器、缓存啥的。
还有static
函数,它只能在声明它的那个文件里用。你在file2.c
里写了static void staticdis()
,别的文件想调?直接报错!挺适合封装内部逻辑的。
简单说,static 的两个重点:一个是作用域变小,另一个是生命周期变长。用好了,不但能减少 bug,还能让模块之间更解耦。
哦对了,如果你还搞不清楚全局变量和局部变量的区别,推荐你看看这篇作用域总结,讲得蛮清楚的。
想练手?你也可以试试这篇习题,题不多,但都挺经典。
41KB
文件大小:
评论区