C言語を学び始めました。
教科書に沿って、プログラムを動かしながら、勉強していく方式なため、最初は簡単な計算や文字の表示のプログラムをひたすら書いております。
PHPを使って、実務を行なっていた経験があるため、まだ苦戦することはありません。
しかし、CとPHPでは様々な違いがあり、毎日面白く勉強させていただいております。
#include <stdio.h>
Cのプログラムを書く際に、今のところ、必ず冒頭に書いている一文が、#include <stdio.h>です。
教科書には、おまじないとして、必ず書くようにしておきましょう。と、記されていました。
しかし、プログラミングの世界に、おまじないなどありません。
この一文が、どういう意味なのか、調べてみました。
#include の部分について
この部分は、C言語の標準ライブラリを読み込むために、必要になる部分です。
プログラムの冒頭で、標準ライブラリを読み込みを行いなさい。という命令をコンピュータ側に出しています。
#include <stdio.h>
int main(void)
{
printf("標準ライブラリを読み込んだ!");
}
上記のサンプルプログラムを実行すると、「標準ライブラリを読み込んだ!」と表示されます。
上記のサンプルプログラムに、少し書き込みを加えます。
#include ←標準ライブラリを読み込む命令を出す <stdio.h>
int main(void)
{
printf("標準ライブラリを読み込んだ!"); ←標準ライブラリを読み込んだことで使用できるようになった。
}
文字列の表示に利用する関数「printf」は、標準ライブラリを読み込んだことで、使用可能になっています。
もし一行目の、#include<stdio.h>が記述されていなかった場合、「printf」を利用できずに、エラーになります。
<stdio.h> の部分について
次は、<stdio.h>の部分について、説明します。
「#include」は、標準ライブラリを読み込むために必要な部分でした。
この部分の直後に続く、<>で囲まれた部分は、どの標準ライブラリを読み込むかを指定する部分です。
#include <stdio.h>
int main(void)
{
printf("標準ライブラリを読み込んだ!");
}
stdio.h が標準ライブラリの名前になります。
つまり、「#include <stdio.h>」は、プログラムの冒頭で、stdio.hという標準ライブラリを読み込みなさいという命令を出しているということになります。
標準ライブラリにはいくつか、種類があり、必ずstdio.hを指定するわけではありません。
Wikipediaには、標準Cライブラリとして、17種類の紹介があります。
その他に、LINUX系、C++系など、いくつかあるようです。
stdio.h は、standard input output . header の略だそうです。
input outputの部分からも分かる通り、これは入出力に関するライブラリです。
printf関数が、含まれているのも納得ですね。
まとめ
プログラムの冒頭に記述する「#include <stdio.h>」は、おまじないではなく、プログラムで利用する標準ライブラリを読み込むために必要な記述でした。
また、標準ライブラリには、いくつか種類があり、今回の場合であれば、「stdio.h」という標準ライブラリを指定しています。
C言語の、必要なライブラリのみ読み込むを行なうという方法は、PHP出身者の私にとっては、新鮮なものでした。
この方法では、すべて読む込んでおくよりも、コンピュータ側の負担を少なくすることができることが想像できます。
C言語が、コンピュータに密着した言語といわれる一端が垣間見えたかもしれません。