• ベストアンサー

stdio.hは何のためにあるのでしょうか?

stdio.hは何のためにあるのでしょうか? 標準関数をまとめたライブラリですが、 「標準」と呼ばれるぐらいなので、 includeしなくても使えるように最初からすればよいと思っています。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

 C言語ではもともと標準関数は付いていませんでした。標準関数が規格化されたのはANCI-Cの規格ができた時です。あと、標準関数といっても実装の有無は処理系に依存しますので、関数をサポートしてるかどうかというのはヘッダファイルで明示的になっている方が親切です。  もちろん、標準関数のヘッダをインクルードしないことで同名のユーザー関数を扱ったりすることも出来ます。  それと、stdio.hは標準入出力の関数をまとめたヘッダファイルですが、標準関数を網羅しているわけではありません。他にもstdlib.hとかstring.hとかtime.hとか、標準関数のヘッダファイルはたくさんありますので、勉強してください。  ちなみにC言語ではライブラリ自体の構成は処理系に依存しますので、必ずしもstdio.hと一対一で対応するライブラリがあるとは限りません。(というか、普通は無いと思う)

その他の回答 (2)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

それは「プログラマが書いたことはやるし書いていないことはやらない」という「C の精神」に反する.

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

stdioを必要としないプログラムもあるからです。 ドライバとかライブラリとかOSか、あるいは組込み用とかでは、ライブラリに依存しないものを作る必要があることがあります。 そんなときは、素のCだけ(あるいは、それ+最小限のライブラリ)で作ります。