為什麼 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
廣告