Variable Declaration
変数は、センサーからのデータや計算で使用される中間値など、プログラムが後で使用するための値に名前を付けて保存する方法です。
変数の宣言
それらを使用する前に、すべての変数を宣言する必要があります。変数を宣言することは、そのタイプを定義し、オプションで初期値を設定することを意味します(変数の初期化)。変数は、宣言されたときに初期化(値を割り当てる)必要はありませんが、多くの場合有用です。
int inputVariable1;
int inputVariable2 = 0; // both are correct
プログラマーは、変数タイプの選択に保存したい数値のサイズを考慮する必要があります。保存されている値が保存するために割り当てられたスペースを超えると、変数がロールオーバーされます。例については、以下を参照してください。
可変スコープ
プログラマーが直面するもう1つの重要な選択は、変数を宣言する場所です。変数が宣言される特定の場所は、プログラム内のさまざまな機能が変数をどのように見えるかに影響します。これは可変スコープと呼ばれます。
変数の初期化
変数は、宣言されているかどうかに応じて初期化されます(開始値を割り当てます)。しかし、他の目的のためにアクセスする前に、変数が有効なデータを持っていることを再確認することは常に良いプログラミングプラクティスです。
例:
int calibrationVal = 17; // declare calibrationVal and set initial value
可変ロールオーバー
変数が最大容量を超えるように作られている場合、最小容量に「ロールオーバー」するには、これが両方向に発生することに注意してください。
int x x = -32,768; x = x - 1; // x now contains 32,767 - rolls over in neg. direction x = 32,767; x = x + 1; // x now contains -32,768 - rolls over
変数を使用します
変数が宣言されると、割り当てオペレーター(単一の等記号)に保存したい値に等しい変数を設定することによって使用されます。割り当てオペレーターは、等記号の右側にあるものを左側の変数に置くようにプログラムに指示します。
inputVariable1 = 7; // sets the variable named inputVariable1 to 7 inputVariable2 = analogRead(2); // sets the variable named inputVariable2 to the // (digitized) input voltage read from analog pin #2
例:
int lightSensVal; char currentLetter; unsigned long speedOfLight = 186000UL; char errorMessage = {"choose another option"}; // see string
変数が設定されたら(値が割り当てられます)、その値をテストして、特定の条件を満たしているかどうかを確認するか、その値を直接使用できます。たとえば、次のコードは、inputvariable2が100未満かどうかをテストし、最低100のinputvariable2に基づいて遅延を設定します。
if (inputVariable2 < 100) { inputVariable2 = 100; } delay(inputVariable2);
この例は、変数を使用した3つの有用な操作すべてを示しています。変数(if (inputVariable2 < 100)
)をテストし、テスト(inputVariable2 = 100
)に渡すと変数を設定し、変数の値を入力パラメーターとしてdelay()
関数(delay(inputVariable2)
)に使用します。
スタイル注:コードをより読みやすくするために、変数に説明的な名前を付ける必要があります。 TiltsensorやPushbuttonなどの変数名は、変数が表すものを理解するのに役立ちます(およびコードを読んでいます)。一方、VarやValueなどの変数名は、コードを読み取り可能にするためにほとんど役に立たない。
86duinoのキーワードの1つではない単語を変数に名前を付けることができます。数字の文字で変数名の開始を避けてください。
いくつかの変数タイプ
- char
- byte
- int
- unsigned int
- long
- unsigned long
- float
- double
言語リファレンスホーム
86Duinoリファレンスのテキストは、Arduinoリファレンスの変更であり、Creative Commons Attribution-Sharealike 3.0ライセンスの下でライセンスされています。参照内のコードサンプルはパブリックドメインにリリースされます。