C/C++で"Hello, World!":ソースコードを読む

沖林正紀
2008-01-25 08:00:00
  • このエントリーをはてなブックマークに追加

printf関数によるメッセージの表示

 リスト1を実行したら、コンソールに”VC++2008でプログラムを実行”と表示されたことを思い出してほしい。その表示を実際に行っているのが、main関数の中に記されているprintf関数だ。

 これは作成しなくてもあらかじめ用意されている関数で、引数の"..."内に記述された文字列を表示するものだ。この関数の名前でWebサイトを検索すると、さまざまな説明を見つけられるが、まだ本稿ではprintf関数の詳細にはふれないでおく。

 とはいえ、これからC/C++を使い始めたいと考えている読者にとって、どうしても気になっていると思われる、末尾の\nだけは説明しておこう。これは改行を表す記号で、次のメッセージを1行下に表示するために記述したものだ。

 図1は末尾にこの\nが記述されている場合、図2はこれが記述されていない場合の実行結果だ。

図1 末尾に\nが記述されている場合 図1 末尾に\nが記述されている場合
図2 末尾に\nが記述されていない場合 図2 末尾に\nが記述されていない場合

 図1では、まずリスト1の実行結果が表示され、次の行に「続行するには...」が表示されているが、図2の場合は、両者が同じ行に表示されてしまい、一見するだけでは2つのメッセージの区切りがわかりにくい。これを見ると\nが必要な理由がよくわかるだろう。

  • コメント(1件)
#1 Jitta   2008-04-01 22:36:49
> main関数の戻り値が0となっているが、引数は存在しない。
 引数は、存在しないのではなく、「使っていない」ですよね?main は、int argc と char** argv、環境によってはもう一つ char** env が引数として存在していますよ。


> 関数の戻り値は、関数名の前に記述することになっている。
 言語構文を説明する前に関数の説明をするから、こういう変な説明になるんですよね。
 「関数の戻り値」ではなく、「関数の戻り値の型」だというのは重箱の隅として、「関数の宣言をしなければならない」という説明が必要ですよね。
このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]