Variable scope:修訂版本之間的差異
出自YFRobotwiki
(以“===变量的作用域=== 在Arduino使用的C编程语言的变量,有一个名为 作用域(scope) 的属性 。这一点与类似BASIC的语言形成了对比,...”为内容创建页面) |
(沒有差異)
|
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 } }