第二回 いつだってC言語


さて、早くも第二回目を迎えますが、今回のテーマは変数です。
変数? それは箱のようなもの・・・
皆さん、想像してみて下さい。辞書って、箱付きが多いですよね? その箱のサイズは皆さんお持ちの辞書の種類によってまちまちではありませんか? 国語辞典、英和辞典、ことわざ辞典、みんな厚さはばらばらです。国語辞典の箱にことわざ辞典をしまったりはしませんよね? そうです、C言語の世界にも色々なサイズを持った型(先ほどの例なら、辞書の種類)があります。以下に型を列挙してみましょう。

char型    'a'とかのアスキーで一文字
int型      整数
long型     整数(intより大きい数までOK)
float型    小数
double型   小数(floatより大きい数までOK)

ざっと挙げただけでも、こんなにありました。(実際には、もう少しありますが)
これらの物はしかるべき箱にしまってあげないと、コンピュータくんは困ってしまいます。なぜって?それは、皆さん辞書を使う際に、国語辞典をとったつもりが、中身が英和辞典だったら困りませんか? そうコンピュータくんもint型のつもりでとったら、char型だったら困ってしまうのです。
こう言った点から、C言語の世界では、型をあわせることが非常に重要になってきます。

さて、ここまできて、変数とはなに? それがわからな〜いという人の為に変数をご説明しましょう。


変数

値を記憶する入れ物。C言語の場合には、値を記憶するだけではなく、「入れ物に1を加えなさいという」などの指示を加えると、記憶されている値がその通りにかわる。
例えば、以下のようなソースでは、

#include <stdio.h>

void main()
{
int i;

    i=0; /* iという箱に0を代入 */

    printf("インクリメント前 i=%d\n",i); /* iの中身を画面に表示 */

    i++; /* iという箱をインクリメント */

    printf("インクリメント後 i=%d\n",i); /* iの中身を画面に表示 */

}

これをコンパイルし実行すると、

インクリメント前 i=0
インクリメント後 i=1

となる。

上記のソースで、「i++」という部分がありますが、この処理はiの中身に1を加えなさいという「インクリメント」という処理です。

変数の基本を上記のような物です。

また、違う型から本来の型にもどして使いたい場合には、キャストという方法を使います。
キャスト使用例

float f;
int i;

i=1;
f=(float)i;

以上のようにすると、iは本来int型であるが、fに代入する際にfloat型に変換してから代入の処理を行う事になります。逆もしかりです。

以上、変数について忘れちゃダメなことでした。