首先,在函数中修改变量时,静态修改的静态局部变量只初始化一次,延长了局部变量的生命周期,直到程序运行后才释放。
其次,当static修改一个全局变量时,这个全局变量只能在这个文件中访问,而不能在其他文件中访问,即使它是由extern在外部声明的。
第三,静态修改一个函数,那么这个函数只能在这个文件中调用,不能被其他文件调用。
静态修改的局部变量存储在全局数据区的静态变量区。
(1)函数中的一些变量不希望在函数调用完成后被释放。您可以使用static(例如,您需要计算一个函数被调用的次数。你可以用静态来修饰统计时间的变量。)
(2)考虑数据安全性(例如,当一些全局变量或函数不想被其他代码访问时,考虑使用静态)