はじめに
これからC言語を学ぶ方向けの記事です。この記事では以下の悩みを解決したいと思います。
- C言語の<stdio.h>ってどういう意味なの?
- 一体なんなんだ?
実験してみる
コード1
#include<stdio.h>
int main(int argc, char** arvg){
printf("Hello World\n");
return 0;
}
コード2
#include<stdio.h>を抜いてみる
int main(int argc, char** arvg){
printf("Hello World\n");
return 0;
}
コンパイル結果
コード1
- なにも表示されない(正常にコンパイル)
コード2
警告:ライブラリ関数「printf」をタイプで暗黙的に宣言しています 注:ヘッダーを含めるか、「printf」の宣言を明示的に指定してください 1つの警告が生成されました。
hello.c:2:3: warning: implicitly declaring library function ‘printf’ with type ‘int (const char *, …)’
printf(“Hello World\n”);
^
hello.c:2:3: note: please include the header or explicitly provide a declaration for ‘printf’
1 warning generated.
出力結果
両者とも以下のように表示されました。
Hello World
解説
ヘッダーファイル
- #include:ヘッダーファイル
→「ファイルを読み込むよ」という宣言に使う。
- stdio.h:stdio.hってファイルって意味らしい。
要するに<stdio.h>ってファイルを読み込むよって意味らしい。
月見
で結局、Stdio.hってなんじゃ?まだわからん・・・
Stdio.hとは?
こちらを参照させていただきました。
http://www.c-tipsref.com/reference/stdio.html
要するに<Stdio.h>ってファイルにはたくさんの関数が格納されていて、その中のprintfを使うって意味なんだね!!!
だから、コードにはいろいろ警告が出たんですね。
- printfって関数が宣言されていないけど、暗黙的に宣言しといたよ
- ちゃんと宣言してね
だけど一応実行はできるんですね。
もっと詳しくC言語を学習したい方は以下の記事を参考にしてみてください。オンライン学習サイトUdemyのおすすめ講座についてまとめたものです。
筆者がC言語の学習は以下の本がおすすめです。参考にしてみてください。
コメント