変数

C言語 組み込みマイコンでは列挙型を使うのは当たり前

組み込みマイコンのプログラムでは、入出力の処理を行うのが肝になるため、この入出力の名前をつけるのに列挙型を使用します。

列挙型はある関連するものに対して、変数名と数値を割り当てることができるものです。

例えば、犬や猫などの動物に対して、dogは0、catは1というふうに割り当てたいときに、列挙型を用いると便利です。

組み込みマイコンでは、エレベータで例を挙げると、入力や出力、走行フェーズやドアの動作フェーズなどに対して、列挙型をしようしています。

では、実際に列挙型をどんな風に使うのかをお話しします。

続きを読む

C言語 マクロ定義の使い方

あなたは、配列の要素数や、for文の繰り返し回数などの数値を、直接プログラムに書いていませんか?

もし、そうなら今すぐ、それをやめましょう。

なぜなら、プログラムの意味もわかりにくくなりますし、修正するときに複数個所に及ぶとミスも増えるからです。

そんなときに、便利なのがマクロ定義です。

続きを読む

C言語 変数の型変換で遊んでみよう

変数には型がありますね。同じ変数の型同士の代入なら、意図しない結果になることはありません。

しかし、異なる変数の型の代入、同じ型同士でも演算結果を代入する場合は、意図しない結果になることがあります。

それは、変数の型が扱える数値の範囲が異なるからです。

例えば、short型同士の変数の掛け算をし、short型の変数に代入しようとした場合、short型では扱えない数値の演算結果になってしまう可能性があることがわかりますか?

ちなみに、short型の扱える数値の範囲は-32,768~32,767です。

short型で100*200なら、演算結果は20,000なので、short型で扱えます。

しかし、30000*100なら、演算結果は3,000,000となり、short型で扱える範囲を超えてしまいます。

このようにならないためには、演算結果を格納する変数の型をlong型にしておく必要があります。そうすることで、short型の変数同士の掛け算を問題なく扱えるようになります。

ここでは、変数の型変換について、遊び感覚で、身につけられるように書いていきます。

続きを読む