#3. static关键字
想象你要创建一个带有计数功能的函数,可以这么写:
这段代码有什么问题吗?它使用了一个叫count
的全局变量。因为count
在全局作用域,所以其他函数可以修改它的值。如果你在写一个大型程序,就需要小心控制全局变量的个数,因为它们可能导致代码出错。好在C语言允许你创建只能在函数局部作用域访问的全局变量:
static
关键字会把变量保存在存储器中的全局量区,但是当其他函数试图访问count
变量时编译器会抛出错误。
用static定义私有变量或函数
也可以在函数外使用static
关键字,它表示“只有这个.c文件中的代码能使用这个变量(或函数)”。例如:
static
关键字用来控制变量或函数的作用域,防止其他代码以意想不到的方式访问你的数据或函数。