Arduino入門:変数のスコープ

Sketch(スケッチ)の変数のスコープについて解説します。

変数のスコープとは、変数が有効になる範囲の事です。変数のスコープで考えた場合、変数には大きく分けてグローバル変数とローカル変数の2種類が存在します。グローバル変数とは、何処からでも参照できる有効範囲がスケッチ全体の変数です。一方、ローカル変数は、変数のスコープが限られている変数となります。

//Arduino Sketch Example: Variable Scope
//Date: 2015.1.12
//Edited and Modified by: easy labo
//Original Source: Arduino Reference (http://arduino.cc/en/Reference/HomePage)

int glovalVal;  // (A) any function will see this variable

void setup()
{
  // ...
}

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

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

}

Creative Commons Attribution-ShareAlike 3.0 License (CC BY-SA 3.0)
Arduino Reference:Variable Scope” by Arduino Team, used under CC BY-SA 3.0/ easy labo made some changes and comments to the original

上のサンプルコードの例で、(A)の領域に記述されている変数は、グローバル変数になります。したがって、glovalValは、Sketch(スケッチ)の何処からでも参照する事が出来ます。
(B)の位置に記述されている変数は、ローカル変数ですが、loop()内であれば、参照する事が可能です。この例で、変数iは、loop()内から参照する事が出来ます。(C)の位置に記述されている変数jは、forループ内のみで参照する事が出来る変数になります。

スコープの境界は、{ … } なので、その事に注意してSketch(スケッチ)をプログラミングしていきましょう。

→その他のArduino関連情報

Sponsored Link