【ハウツー】
関数の { } 内に指定した、何らかの実行するべき動作のことを文(ステートメント)と呼びます。文は、複数の字句から構成され、特に指示がなければ順番に実行されます。Sample01を例にすると、main()関数内に記述している print()関数の呼び出しと return による戻り値を返す2つの文に分けることができます。文の種類によっても異なりますが、多くの文は末尾にセミコロン ; を指定するので、セミコロンでで文が分けられていると考えると理解しやすいでしょう。
文もまた、字句のように特性ごとに次のいずれかに種別できます。
この中で、最も重要になるのは、計算式や関数の呼び出しなどを記述する式文でしょう。関数の中に書かれる多くは式文に該当します。return文は、関数を終了させる制御に関連する処理なので、分岐文に該当します。その他にも、分岐や繰り返しなど、コードの流れを制御する文などがあります。その他の文については、今後、少しずつご説明します。この場では、関数内に書く命令は文という単位で実行されるものだということを理解していただければ十分です。
コードの意味などを書き残すために、コード内に自由にテキストを記述できるコメント機能が用意されています。コメント内に記述したテキストは、コンパイル時に破棄されるため、文法上の制約は一切受けません。コードの意味を書き残す他に、デバッグのために一時的にコードの一部を無効化したい場合や、公開するソースコードに権利情報を書き残すといった目的でも使用されています。
コメントは /* から始まり */ で終わります。この間であれば、自由にメモを書くことができます。
/* 任意のコメント */
コメント内のテキストは、コードの流れに一切の影響を与えません。ただし、コメント自体にホワイトスペースと同様に字句を区切る性質があるので、字句の間にコメントを挿入することはできません。次のprintf()関数の呼び出しは不正です。
print/*output text*/f("きらめく言語でまた書ける。");
上記の文では、print と f の間にコメントがあるため、print と f に字句が区切られてしまいます。そのため、print という識別子が見つからないといったエラーや、識別子 f が不正であるといったエラーが報告されるでしょう。
#include <stdio.h>
/*ゆっくりしていってね!!!*/
int/*字句を分断*/main(void) {
printf("きらめく言語でまた書ける。\n");
/*printf("goto 祭りがものすごいことに!\n");*/
return 0;
}
きらめく言語でまた書ける。
![]() |
サンプル04の実行結果 |
Sample04は、コメントを使ってメモを残したり、一部のコードを無効化したりしています。main()関数の宣言で、 int と main の間に空白ではなくコメントが挿入されています。コメントは、コンパイル時に破棄されてしまうため、intmainという字句になってしまうのではないかと思うかもしれませんが、字句を区切る性質をもつため、正しくintとmainに区切られます。
今回は、C言語の基礎的な構造を理解するために、字句と文についてご説明しました。複雑なコードを見て、何が書いているか分からないときは、落ち着いて字句に分解してみましょう。その中で、知らないキーワードや記号などがあれば、その意味を調べることで理解できます。どんな複雑なプログラムも、中身は簡単な文の組み合わせなのです。
| ゼロからはじめるC言語 - 環境構築編 [2008/6/17] |
携帯ネット端末用のLinux「Ubuntu MID Edition 8.0.4」が発表
【ハウツー】ゼロからはじめるPowerX Hard Disk Manager 8 - 自分好みのリカバリディスクを作ろう!
| 【レポート】マカフィーの世界の専門家の意識調査「サイバー防衛報告書」とセキュリティソリューション [21:15 5/25] |
| アップル、Aperture 3.2.4を公開 - バグ修正、安定性向上など [20:51 5/25] |
| 【レポート】GTC 2012 - VGXでエンタープライズ環境でのGPU需要開拓を狙うNVIDIA [20:07 5/25] |
| デル、期間限定キャンペーンに特価アイテム追加、アップグレード無料も継続 [19:41 5/25] |
| 上海問屋、iPhoneとほぼ同じ薄さのバッテリ内蔵ヘッドホンアンプ [19:05 5/25] |
|
[注目映画紹介]「MY HOUSE」 モノクロの異色作 現代人の欲望の行きつく先とは [17:30 5/26] エンタメ |
|
「語れ!ガンダム」に安彦良和インタビュー、次回作構想も [17:20 5/26] ホビー |
|
イチゴバニラが好きな光秀が信長倒す……。 覚えている語呂合わせ [17:00 5/26] キャリア |
|
【連載】これだけは要チェック! TOEIC(R)単語帳 第103回 今回のお題は…「establish」 [17:00 5/26] キャリア |
|
[注目の新譜]ゆず デビュー15年目のスケール感と力強さに満ちたニューシングル [16:30 5/26] ホビー |