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,还能让模块之间更解耦。

哦对了,如果你还搞不清楚全局变量和局部变量的区别,推荐你看看这篇作用域总结,讲得蛮清楚的。

想练手?你也可以试试这篇习题,题不多,但都挺经典。

doc 文件大小:41KB