变数作用范围

在 86Duino 中使用的 C 语言变数,可依照其作用域的不同来加以区分,这点与所有变数皆为全域变数的早期程式语言 BASIC 有所不同。

全域变数是可以被程式中的所有函式使用的,而区域变数则只能被宣告它的函式使用;在 86Duino 的环境中,所有被宣告在函式之外的变数 (例:setup()loop()、等等…) 为全域变数。.

当程式码变得更大更复杂之后,区域变数可以确保各函式内的变数只会被自身函式存取,这能预防程式的错误,让一个函式不会不小心去存取到其他函式在使用的变数。

for 回圈内也可以宣告一个变数并给定初值,这样可以让这个变数只能在该 for 回圈中存取。

范例

int gPWMval;  // 任意的函式都可以使用它

void setup()
{
  // ...
}

void loop()
{
  int i;    // "i"是只存在"loop"函式中的变数
  float f;  // "f"是只存在"loop"函式中的变数
  // ...

  for (int j = 0; j <100; j++){
  // 变数 j 只能在 for 回圈中存取
  }
}

语法参考主页面

本页由热血青年 LBU 译自英文版。

The text of the 86Duino reference is a modification of the Arduino reference, and is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.