C/C++

C言語のstdio.hってどういう意味なの?一体なんなんだ?

C/C++

はじめに

これから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言語の学習は以下の本がおすすめです。参考にしてみてください。

コメント

タイトルとURLをコピーしました