
No.4ベストアンサー
- 回答日時:
stdio.hの内容にこだわる必要はありません。
標準的な入出力を行うときの関数の定義がされているので、
stdio.hをincludeしないとコンパイルエラー(警告)が発生するというだけのことです。
各関数の説明を参照すると、必ずどのファイルをincludeしなければいけないかが書かれています。
printfの場合
https://linuxjm.osdn.jp/html/LDP_man-pages/man3/ …
fopenの場合
https://linuxjm.osdn.jp/html/LDP_man-pages/man3/ …
sqrtの場合
https://linuxjm.osdn.jp/html/LDP_man-pages/man3/ …
関数を呼び出すとき、「man 関数名」で検索してください。
例 man printf
その結果、Man page of PRINTFと表示されるいくつかのURLがあるので、それをクリックすると
https://linuxjm.osdn.jp/html/LDP_man-pages/man3/ …
のようなその関数の説明にたどり着けます。
printfを使うなら、stdio.h
fopenを使うなら、stdio.h
sqrtを使うなら、math.h
をincludeしなければいけないことが判ります。
あなたがこれらのライブラリの開発者を目指すのであれば話は別ですが、
特別な理由がない限り
stdio.h、math.hのなかに何が書かれているかを気にする必要はありません。
必要なことは、どの関数を呼び出すときに、どのヘッダファイルをincludeするかに留意することです。
mainではなく、manなのですね?それとprintfやscanfなどの関数の宣言が入っているのですよね?バッファなどの「など」には、一体何があるのでしょうか?
関数、型、定義でしょうか?例として、関数はprintf関数で、型がFILEで、定数が、EOFでしょうか?関数と型と定義とは何なのでしょうか?教えていただけると嬉しいです。
No.7
- 回答日時:
>バッファ以外に何が定義されているのでしょうか?
実際に読んでください。読めば全部書いてあります。他人から正しいのか正しくないのかよくわからないような情報を聞くよりもずっと正確です。また、stdio.hの中では他のヘッダファイルもincludeされていますので、それもあわせて読んでください(その先でもincludeされていて…となっていますが、その先も同様です)。
たとえばglibcのstdio.hなら、ここを起点に読んでいってみては?
https://github.com/lattera/glibc/blob/master/inc …
また、バッファ(構造体)や関数のプロトタイプ宣言だけであれば、stdio.hそのものをプリプロセッサに食わせれば、現処理系で利用可能なものが一覧っぽく表示されます(ただし、定数は見えなくなりますが)。
たとえばLinuxとかであれば、
$ cpp /usr/include/stdio.h
No.6
- 回答日時:
>関数と型と定数とは何なのでしょうか?教えていただけると嬉しいです。
しっかりした参考書を1冊読めば事足りること。
過去に数学に関するトンデモ質問で大いに迷惑をかけたことをここでも繰り返さないように。質問文も日本語として相も変わらずおかしい。
No.5
- 回答日時:
> 関数、型、定義でしょうか?
この質問に自分で答えられるくらいでないと、stdio.hの内容について理解できないと思います。
プログラミングの学習では、細かいところにこだわることも必要ですが、それと同じくらい、細かいことを気にしないことも必要です。
> stdio.h は、標準的な入出力を行う場合に必要なバッファなどが定義されているファイルです。
そもそも、この文章は正しくありません。
・言った人が間違えている。
・あなたが間違えて覚えている。
のいずれかだと思われます。
No.3
- 回答日時:
仕様としては、
https://ja.wikibooks.org/wiki/C%E8%A8%80%E8%AA%9 …
その他処理系によってそれ以外もあるかもしれませんが、
>標準的な入出力を行う場合に必要なバッファなどが定義されている
バッファは定義されないことが多いと思います。
inline な static 関数だともしかしたらあるかもしれませんが、
一般的には、定義されるのはバッファの情報くらいです。
No.2
- 回答日時:
(極々稀な例外を除けば)stdio.hはC言語で書かれたテキストファイルなので、実際に読めばわかります。
また「C言語 標準ライブラリ stdio」で検索かければ、リファレンスマニュアルとか解説とかがたくさん見つかります。
No.1
- 回答日時:
printfやscanfなどの組込関数の定義です。
sqr(sqrtだったかも)のような平方根の関数は、stdio.hには入っていません。math.h(だったかな?)の定義も必要です。つまり、printf やscanfなどの関数の宣言が入っているのですよね?バッファなどの「など」には、一体何があるのでしょうか?関数、型、定数でしょうか?
例として、関数は、printf関数で、型が、FILEで、定数が、EOFでしょうか?
関数と型と定数とは何なのでしょうか?教えていただけると嬉しいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語について。 7 2022/11/06 10:02
- C言語・C++・C# C言語について 4 2023/01/08 06:07
- C言語・C++・C# C言語について。 7 2023/01/26 16:42
- C言語・C++・C# C++の標準入力の書き方 6 2023/02/23 23:53
- 日本語 複合名詞(造語)について教えて欲しいです 2 2022/05/22 17:14
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- IT・エンジニアリング アンバッファの入力規格について教えてください。 発振回路に用いるバッファはアンバッファのものを使うこ 2 2022/05/28 21:40
- C言語・C++・C# stdio.hのバッファについて。 6 2023/03/07 16:01
- Perl perlで2次元配列をサブルーチンに値渡しで渡す 5 2022/12/17 18:49
- 政治 個人的に、憲法改正案を考えてみました。 意見を聞かせてください。 特に、9条(第2章 - 戦争の放棄 4 2023/02/19 14:34
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【C言語】全角文字の配列を、全...
-
gccを行ってもexeファイルが生...
-
visual studio 2022でのC#プロ...
-
いまc言語を独学で勉強している...
-
C言語 列挙型(enum型)変数について
-
大量のデータを読み込んで表示...
-
C言語の関数のextern宣言
-
VisualStudio2022でC言語プログ...
-
終端記号、非終端記号とは
-
VisualStudioでC++クラスを追加...
-
c言語でイベントフラグを使った...
-
プログラミング 2つの整数を読...
-
UART通信の取説で,left floati...
-
Notepad++の関数リスト表示の変...
-
c言語
-
VisualStudioで、コードを印刷...
-
pythonの質問です。
-
C++でデスクトップGUIアプリ開...
-
c#のTLS1.2での通信について
-
写真のプログラムは、1からnま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Mac EclipseのFileReaderでファ...
-
javaでファイルの読み込み
-
ユニオンクエリで開いたクエリ...
-
SpringのBean定義ファイル
-
C言語について。
-
Java バイナリデータの扱い
-
Javaのファイル出力について
-
【VBA】マクロの入ったファイル...
-
サポートされたファイル形式お...
-
PDFファイルの倍率を変えて保存...
-
個別に違う添付ファイルを付け...
-
e-taxで送信ファイルの拡張子が...
-
エクセルで「特定の文字を含む...
-
複数のブックを新しいブックのS...
-
拡張子「.IDJ」を、windo...
-
A4の紙に印刷されている文字を...
-
PC内で速度を遅くした音源をCD...
-
2枚、マイクロSDカードを入...
-
Visual Basic.NETの、Form 間で...
-
GIMP separate+プラグイン クラ...
おすすめ情報