全局
对于全局变量来说,static 关键词只改变其作用域。
静态
全局静态变量或函数具有内部链接(internal linkage),这意味着它只能在定义它的源文件内部被访问。
编译器会将静态函数的符号限制在源文件内部,不会生成全局符号。
普通
普通全局变量具有外部链接(external linkage),这意味着它可以在多个源文件中被访问。它的作用域是整个程序,只要在其他文件中使用 extern 声明,就可以访问该变量。
对于全局变量来说,static 关键词只改变其作用域。
全局静态变量或函数具有内部链接(internal linkage),这意味着它只能在定义它的源文件内部被访问。
编译器会将静态函数的符号限制在源文件内部,不会生成全局符号。
普通全局变量具有外部链接(external linkage),这意味着它可以在多个源文件中被访问。它的作用域是整个程序,只要在其他文件中使用 extern 声明,就可以访问该变量。