DIVE TO WORLD

ITを浅く広くピンポイントにお伝えするブログ

【プログラミング入門】MacでC言語に挑戦(2)

MacC言語に挑戦」の第2回目です。
前回の記事では、C言語のプログラムを動作させる手順についての内容でした。

divetoworld.hatenablog.com

今回は、前回書いたプログラム "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" ということは、「プログラムが正常終了しました」という意味になります。

#include について

includeディレクティブというもので、外部の機能を取り込むときに使用します
動作としては、コンパイル時に、< > の中に記述されたヘッダーファイルと呼ばれる、別のソースコードを読み込みます。
hello.c で使用した stdio.h は、標準入出力に関する定義が記述されており、printf文の定義はここに含まれています。なので、printf文を使用する時は必ず stdio.h をインクルードして下さい