为什么 C/C++ 当中的全局变量不好?
全局变量在程序中的任何函数之外声明和定义。在程序的整个生命周期中,它们都保存其值。在程序执行的整个过程中都可以访问它们。
非常量的全局变量很危险,因为它们的价值可以被任何函数改变。使用全局变量会降低程序的模块性和灵活性。建议在程序中不要使用全局变量。使用本地变量代替全局变量。
使用“g_”作为变量名的前缀,以避免命名冲突并且知道变量是全局的。还有一种方法通过将变量设为静态来封装全局变量。
下面是 C 语言中全局变量的示例:
示例
#include <stdio.h> int g_var; static g_var1; int main () { int a = 15; int b = 20; g_var = a+b; g_var1 = a-b; printf ("a = %d\nb = %d\ng_var = %d\n", a, b, g_var); printf("g_var1 = %d", g_var1); return 0; }
输出
以下是输出
a = 15 b = 20 g_var = 35 g_var1 = -5
广告