整體變數與局部變數的觀念

在 C++ 程式設計中,如果使用到函數,就會牽涉到整體變數與局部變數的觀念。所謂的整體變數( global variable),就是該變數可以使用在程式的任何部分,不論是在main()區塊中或者其他的函數區塊中都可以使用。而局部變數( local variable),就要視該變數是在那個區塊中被宣告,如果是在main()區塊中被宣告,那麼就只能使用在main()區塊;如果是在函數 funA()區塊中被宣告,那麼就只能使用在 funA()區塊。另外若只被宣告在一個簡短的 { } 中,那就只能使用在這個 { } 區塊裡。

一般來說整體變數與局部變數會使用不同的名稱,但是萬一名稱相同,則在局部區塊中出現該名稱時,程式會認為那是局部變數。

(例)

int  a=5;                            // 這是整體變數

main()

{

   int  b=8, c=4;                  // 這是main()中的局部變數

   printf("%d %d %d", a, b, c);            // 會印出 5 8 4

   fun();

   printf("%d %d", a, c);                     // 會印出 5 4 (a是整體變數,c是main()中的局部變數)

   system("PAUSE");

   return  0;

}

 

int fun()

{

   int a=9, c=6;                   // 這是fun()中的局部變數

   printf("%d %d", a, c);                     // 會印出 9 6 (完全以局部變數為主)

}