Variable scope:修訂版本之間的差異

出自YFRobotwiki
跳轉到: 導覽搜尋
(以“===变量的作用域=== 在Arduino使用的C编程语言的变量,有一个名为 作用域(scope) 的属性 。这一点与类似BASIC的语言形成了对比,...”为内容创建页面)
 
 
第 31 行: 第 31 行:
 
}
 
}
 
</pre>
 
</pre>
 +
 +
 +
 +
----
 +
 +
 +
[[Arduino语法参考 | 返回Arduino语法参考列表]]
 +
 +
更多建议和问题欢迎反馈至 [http://www.yfrobot.com YFRobot论坛]

2017年9月13日 (三) 09:03的最新修訂版本

變數的作用域

在Arduino使用的C編程語言的變數,有一個名為 作用域(scope) 的屬性 。這一點與類似BASIC的語言形成了對比,在BASIC語言中所有變數都是 全局(global) 變數。

在一個程序內的全局變數是可以被所有函數所調用的。局部變數只在聲明它們的函數內可見。在Arduino的環境中,任何在函數(例如,setup(),loop()等)外聲明的變數,都是全局變數。

當程序變得更大更複雜時,局部變數是一個有效確定每個函數只能訪問其自己變數的途徑。這可以防止,當一個函數無意中修改另一個函數使用的變數的程序錯誤。

有時在一個for循環內聲明並初始化一個變數也是很方便的選擇。這將創建一個只能從for循環的括弧內訪問的變數。


示例

int gPWMval;  // any function will see this variable

void setup()
{
  // ...
}

void loop()
{
  int i;    // "i" is only "visible" inside of "loop"
  float f;  // "f" is only "visible" inside of "loop"
  // ...

  for (int j = 0; j <100; j++){
  // variable j can only be accessed inside the for-loop brackets
  }

}




返回Arduino語法參考列表

更多建議和問題歡迎反饋至 YFRobot論壇