變量作用域
來自ALSROBOT WiKi
變量的作用域
在Arduino使用的C編程語言的變量,有一個名為 作用域(scope) 的屬性 。這一點與類似BASIC的語言形成了對比,在BASIC語言中所有變量都是 全局(global) 變量。
在一個程序內(nèi)的全局變量是可以被所有函數(shù)所調(diào)用的。局部變量只在聲明它們的函數(shù)內(nèi)可見。在Arduino的環(huán)境中,任何在函數(shù)(例如,setup(),loop()等)外聲明的變量,都是全局變量。
當程序變得更大更復雜時,局部變量是一個有效確定每個函數(shù)只能訪問其自己變量的途徑。這可以防止,當一個函數(shù)無意中修改另一個函數(shù)使用的變量的程序錯誤。
有時在一個for循環(huán)內(nèi)聲明并初始化一個變量也是很方便的選擇。這將創(chuàng)建一個只能從for循環(huán)的括號內(nèi)訪問的變量。
例子:
int gPWMval; // 任何函數(shù)都可以調(diào)用此變量 void setup() { // ... } void loop() { int i; // "i" 只在 "loop" 函數(shù)內(nèi)可用 float f; // "f" 只在 "loop" 函數(shù)內(nèi)可用 // ... for (int j = 0; j <100; j++){ //變量j只能在循環(huán)括號內(nèi)訪問 } }