为什么 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

更新于: 25-6 月-2020

2 千 + 次浏览

开启你的 职业

通过完成课程获得认证

入门
广告