const
constキーワードは constantの略です。 これは、変数の動作を変更し、変数を「読み取り専用」にする変数修飾子です。 つまり、変数はその型の他の変数と同じように使用できますが、その値は変更できません。 const変数に値を代入しようとすると、コンパイラエラーが発生します。
constキーワードで定義された定数は、他の変数を管理する変数スコープと同じ規則に従います。 これと#defineを使うことの落とし穴は、constキーワードを#defineよりも定数を定義する優れた方法とすることがよくあります。 利用例
code:sample.ino
// this defines a variable called "pi", which cannot be changed:
const float pi = 3.14;
float x;
// ....
x = pi * 2; // it's fine to find the value of a const variable
pi = 7; // illegal - you can't write to (modify) a constant
constと#define
数値または文字列定数の作成には、constまたは#defineのいずれかを使用できます。 配列の場合、constを使う必要があります。 一般に、定数を定義する場合は#defineよりもconstが推奨されます。 変数の割り当て領域
また、const宣言した変数の領域は、SRAMではなくフラッシュメモリに割り当てらます。SRAMの消費量を抑える場合は、積極的にconstの利用を推奨します。
このドキュメントはleafLabs, LLC.が執筆し、たま吉が翻訳・一部加筆修正したものです。