【プログラミング入門】MacでC言語に挑戦(2)
「MacでC言語に挑戦」の第2回目です。
前回の記事では、C言語のプログラムを動作させる手順についての内容でした。
今回は、前回書いたプログラム "hello.c" の意味について解説したいと思います。
目次
Hello, World とは
もう一度前回のソースコードを見てみましょう。
hello.c
#include <stdio.h> int main(void) { printf("Hello, World!\n"); return 0; }
このプログラムは「Hello, World (ハロー ワールド)」という有名なプログラムです。
機能的には、単純に "Hello, World!" という文字列を画面に表示するだけ( ^ω^ )
人によって細かな違いはあれど、恐らく世界中で共通の「おまじない」です。
main関数
内容が「おまじない」のままではマズイので、具体的に見ていきましょう。
C言語では、一番初めに実行する構文はmain関数と決まっています。
関数とは、数学の関数 f(x) のように、"関数名(引数)" の形で書きます。
引数とは、関数の入力変数です。
hello.c のmian関数では、引数が不要なので "void" と記述しています。
関数名の後に中かっこ { } で囲んで、その中に内容を書きます。
int main(void) { /* ここに記述された内容がmain関数の処理として実行される。 */ }
hello.c では、printf文とreturn文の処理が記述されているので、その2つが実行されます。
printf("Hello, World!\n"); return 0;
printf文
printf文は、(標準出力に)文字列を出力します。
Macの「ターミナル」では文字だけの黒い画面が標準出力なので、そこに文字列が出ることになります。
\n (バックスラッシュ n) は改行を意味します。この改行を入れ忘れると、"Hello, World!" のすぐ後に文字が続くことになるので覚えておきましょう。
return文
return文は、main関数の戻り値として "0" を返す意味です。
main関数に限らず、関数はその処理の結果として「戻り値」を返します。数学に関連して考えますと、関数 f(x) = 3x というものがあった場合、この関数 f は、入力が与えられた時に、その3倍の値を返すものです。それと同様に、C言語の関数もreturn文によって戻り値を定める必要があるのです。ちなみに、main関数の戻り値が "0" ということは、「プログラムが正常終了しました」という意味になります。