C语言关键字总结
1.static
静态变量:当 static 修饰一个局部变量时,该变量称为静态变量。静态变量的生命周期延长到整个程序的执行期间,而不是仅限于函数的执行期间。它在首次进入声明它的代码块时被初始化,并且在后续调用中保持其值不变。
静态函数:当 static 修饰一个函数时,该函数成为静态函数。静态函数只能在定义它的源文件内部可见,无法被其他文件调用。这样可以将一些功能较为私有或内部使用的函数隐藏起来,提高了代码的模块化和封装性。
文件作用域:当 static 修饰一个全局变量或函数时,该变量或函数具有文件作用域,即只能在声明它的源文件中访问,不会被其他文件引用。这样可以避免命名冲突和符号重定义的问题,提高了代码的可维护性。
内部链接性:在 C 语言中,默认情况下,全局变量和函数具有外部链接性,即可以被其他文件引用。而当 static 修饰全局变量或函数时,其具有内部链接性,只能在当前文件内部访问。这对于需要限制外部访问的全局变量和函数非常有用。
场景1:内核中修饰变量和函数;限定作用域,保证内核数据安全性以及减少耦合、提高内核编译效率;
场景2: 修饰函数内的局部变量时,除了延长生命周期外,变量初始化之后,以后再次调用不会被再次初始化;