在 C语言 中,static 通常用来修饰变量和函数。
static 修饰变量
变量按照作用域不同,分为全局变量和局部变量。
当static修饰全局变量时,该变量仍然可以在该文件的全局区域内引用,并且在编译阶段时为该变量分配内存,但是其他文件不可以引用该变量,只能在这个文件内使用。
当static修饰局部变量时,也不会改变局部变量的作用域,但是变量存储方式从动态存储变为静态存储,可以记忆上次使用局部变量的数据。
static 修饰函数
static修饰函数,主要是表示此函数只在这个文件内使用,不会被其他文件引用;并且在其他文件也定义了相同函数名时,也不会产生干扰报错,这在大型项目里面非常有必要。