C言語 #includeとは? ファイル挿入

最初のC言語のプログラムを書く時からずっと書き続けている構文
#includeの意味を説明します。

#include <stdio.h>

void main() {
      int i = 10;
      printf("i = %d\n", i);
}

これは、変数iの値を表示するプログラムですが、
printfと言う関数が使われています。

関数は、事前にプロトタイプ宣言をしなくてはならない
と言う決まりがあります。

ですが、どこにもprintf関数のプロトタイプ宣言は、見当たりません。

そこで#include(インクルード)構文の登場です。

#include命令は、ファイルを挿入するという処理を行います。

ここでは、stdio.hと言うファイルを挿入すると言う意味になります。

stdio.hと言うファイルがどこにあるかは、コンパイラが探してくれます。

この場合は、<>で括られているので、標準ディレクトリから探します。

もし、”stdio.h”となっていたら、まず、カレントディレクトリから探し、

なければ、標準ディレクトリを探します。

どちらにもなければ、コンパイルエラーが出ます。

長くなりましたが、上記プログラムの#include <stdio.h>と書いたところに、

stdio.hファイルの中身がそっくりそのまま置換されます

そして、そのstdio.hファイルには、
printf関数のプロトタイプ宣言が含まれているので、
正常に動作する。と言うワケです。

ちなみにstdio.hファイルは、基本的な入出力関係の関数のプロトタイプ宣言が
含まれているファイルなので、自然と使う機会が多くなります。