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(スケッチ)をプログラミングしていきましょう。
Sponsored Link