在C语言中,关键字static有三个明显的作用: 1). 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。 2). 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量[1]。
在C语言中,static关键字的作用有下面几种: 1.隐藏: static函数只能被其所在的源文件中的其他函数调用,它不会在其他源文件中可见。这样做可以避免在其他文件中同名函数的冲突。 2.节省空间: 在多个源文件组成的程序中,static函数可以在不同的文件中重复定义,而不会在最终的目标代码中产生多余的重复代码。链接器会...
static 可以用作函数和变量的前缀,对于函数来讲,static 的作用仅限于隐藏,而对于变量,static 还有下面两个作用。 (2)static 的第二个作用是保持变量内容的持久。 存储在静态数据区的变量会在程序刚开始运行时就完成初始化,也是唯一的一次初始化。共有两种变量存储在静态存储区:全局变量和 static 变量,只不过和...
作用就是让更多的逻辑错误在编译期被发现。所以我们要尽可能的多使用const。 但是很多人并不习惯使用它,更有甚者,是在整个程序 编写/调试 完后才补 const。如果是给函数的声明补const,尚好。如果是给 全局/局部变量补const,那 么……那么,为时已晚,无非是让代码看起来更漂亮了。关于const的使用,曾有一 个笑...
它有三个主要的作用:作用域限定、生命周期延长和隐藏实现。 一、作用域限定: 1.1局部变量的作用域限定:在函数内部使用static修饰的局部变量,使其只能在定义它的函数内部使用,不能被其他函数访问。这样可以避免在不同函数中使用相同名称的变量造成的冲突。 1.2函数的作用域限定:在函数外部使用static修饰的函数,使其...
代码1正常,代码2在编译的时候会出现连接性错误。 原因是因为全局变量被static修饰后,就变成了内部链接属性,只能在自己所在的源文件内部使用,其它源文件内部不能再链接到这个静态的全局变量了。 (3).static修饰函数 static修饰函数也是一样的作用,和修饰全局变量一样。 上代码: ...
📚 修饰函数:static可以限制函数只能在声明该函数的文件中被调用。 🏆 修饰成员变量:static修饰的成员变量成为类的全局变量,所有对象共享同一个变量。 🔧 修饰成员函数:static修饰的成员函数所有对象共享,并且不包含this指针。2. 🚀 关键字volatile的作用和场景:volatile用于确保编译器不会优化对特定变量的访问,特...
3. 静态限定符用于限制外部变量或函数的作用范围,使其仅在声明它的源文件内部可见,而在其他源文件中不可见。通过使用静态限定符,可以避免全局变量或全局函数被其他源文件随意修改或调用,提高程序的安全性和可维护性。 静态变量的使用示例: ```c #include <stdio.h> void func() { static int count = 0; cou...
在C语言中,static函数的使用带来了诸多好处,包括模块化编程、代码安全性、可维护性、以及编译优化等方面的优势。合理地运用static函数,能够使代码更加清晰、健壮和高效。 在实际项目开发中,建议根据具体情况合理地进行函数声明和定义,充分发挥static函数的作用,从而更好地完成编程任务。 六、参考资料 1. 《C Primer Pl...