変数

変数とは、値を格納できる箱のようなものです

実際には、変数を宣言することによって、指定された型の分だけメモリ空間を確保し、そのメモリ空間へのアドレスに対して変数名のエイリアスをつけることが行われています

宣言

Arduino言語では以下のようにして変数を宣言します

型 任意の変数名;

具体的には以下のようになります

// int型のvariableという変数を宣言する
int variable;

同一の型であれば複数の変数を同時に宣言することも可能です

// int型の first, second, thirdの3つの変数を一行で宣言する
int first, second, third;

変数の宣言時に指定する型によって格納可能な値の大きさが変わります
もっともよく使う int 型であれば、基本的には-2の15乗から、2の15乗-1まで格納することができます

ものコンでは、符号付整数を格納できる int や、真偽値を格納できる bool をよく使います
某H先生はint型のことを実数型と教えてきましたが、それは間違っているので注意してください

intbool 以外にも様々な型がArduino言語には存在します
公式リファレンスの型一覧
これらの型はケースバイケースで使い分けます

値の代入

変数には = を用いて値を格納することができます
変数に値を格納することを、代入といいます

// int型の変数variableに1を代入する
int variable;

variable = 1;

また、変数の宣言と同時に値を代入することもできます

// int型のvarという変数を宣言し、1を代入
int var = 1;

変数を用いた演算

変数は式の一部に用いることができます

int one = 1;
int two = 2;

// oneとtwoの足し算の結果をsumに代入
int sum = one + two;

スコープ

宣言した変数や関数が有効な範囲のことを、スコープと呼びます

int max = 123;

void setup() {
    // ここでも max は使える
    int foo = 0;
}

// ここでは foo は使えない

void loop() {
    // ここでも max は使える
    // ここでは foo は使えない
}

このように、変数には宣言したブロック( {} で囲まれた部分)より外では使うことができないというルールがあります

この使用できる範囲のことをスコープと呼びます

また、同一のスコープの中では同じ名前を変数につけることはできません

int hoge = 1;

void setup(){
    int hoge = 3; // ここで上書きされてしまう
}