はじめての C

[Learning GNU C]

3.1. 自転車の 分解

これを 見ると いくつか 新しい点が ある。 これらを 説明するため このプログラムを カタマリ chunk に 砕いてみる。

int number_of_bicycles;
int number_of_wheels;

この 2つのline で それぞれの 変数を 宣言する。 "int" とは C language に 組み込まれた data の 型 type の 1つだ。 int 型の 変数には 正 または 負の 全ての 数が 保存できる。

number_of_bicycles = 6;

この line では 変数 number_of_bicycles に 6 の 値を 保存する。 等号記号 '=' は 「代入演算子」 assignment operator で それの 右側の 値を 左側の 変数に 代入する。

nmber_of_wheels = number_of_bicycles * 2;

この line でも 同じく 等号演算子が 使われているが また ここでは 乗算演算子 multiplication operator も 使われている。 アスタリスク '*' は 別の 二項演算子 binary operator で それは 2つの 値を 掛け合わせて 単一の 値を つくりだす。 この場合は 12 の 値を 得て 次に number_of_wheels に 保存する。

printf("I have %d bicycles\n", number_of_bicycles);
printf("So I have %d wheels\n", number_of_wheels);

ここで 再び printf() と 会うが それは 以前 見たものとは 異なった 使われ方を している。 先の 2つの 引数は コンマによって 区切られている。 printf() の 最初の 引数は 書式文字列 format string と いうものだ。 書式文字列の なかで "%d" に 出会うと printf() は 別の 引数が 要求されたことを 知る。 %d は その別の 引数に とり変えられる。 それぞれ 出会う %d には 追加した 引数が 1つ 求められる。

この 新しい 知識が あれば code の その部分を コンパイルし 実行した際 次のような (結果が) 得られても 驚くことは ないだろう。

I have 6 bicycles
So I have 12 wheels

いつものように いくつかの 箇所が アイマイでも 心配いらない。 多くの 例題を たっぷり していこう。