為什麼 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 千 + 次瀏覽

開啟你的 職業

透過完成課程獲得認證

入門
廣告