• ベストアンサー

FILE構造体がどのように定義されているか

こんにちは。 C言語初心者です。 今、FILE構造体について学んでいるのですが、stdioでFALE構造体が どの用に定義されているか調べなさい、という問題がありました。 それは、どのように調べればいいのでしょうか。 また、どのように定義されているのでようか。

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

  • ベストアンサー
  • jacta
  • ベストアンサー率26% (845/3158)
回答No.2

まず、FILE型は構造体であるとは限りません。規格上は、オブジェクト型であることだけが要求されています。 次に、<stdio.h>はファイルであるとは限りません。<stdio.h>をインクルードしたときに、必要な宣言・定義が行われればそれでよいからです。 さらに、FILE型自体はオブジェクト型であれば何でもよいので、例えばvoid*やintでもよいのです。そして、実際の中身はユーザーからは見えないところで定義されていることがあります。この場合、FILE型の定義内容(void*とかintとか)を調べればよいのでしょうか? あるいは、実際の内容まで踏み込む必要があるのでしょうか? 処理系を特定していないので、あくまでも一般論としての話ですよね?

yuryu1122
質問者

お礼

遅くなり、申し訳ございませんでした。 定義内容を調べればいい話だったみたいです。 説明、ありがとうございました。

その他の回答 (2)

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.3

> 今、FILE構造体について学んでいるのですが、stdioでFALE構造体が > どの用に定義されているか調べなさい、という問題がありました。 そういうことをプログラマーが知らなくてもいいようになっている、 というのが利点だと思っていたのですが、そうでもないのかな? まあ、ヘッダーファイルの中身がどういう風になっているかを調べるのは、 悪くはないのかもしれないですけれど。

yuryu1122
質問者

お礼

遅くなりまして、申し訳ございません。 回答ありがとうございました。 中身を調べました。

  • trajaa
  • ベストアンサー率22% (2662/11921)
回答No.1

>stdioでFALE構造体がどの用に定義されているか調べなさい。 推測すると、「stdio.h」というヘッダファイルにFILE構造体は定義されている。 その構造体定義箇所を見つけて、どの様な構造体メンバがあり それぞれはどの様なデータ型なのか? と言ったことを調べなさい。 と言うことなのだろうか? ホントの初心者向けの課題なのね。 stdio.hファイルがどこに存在するかをまず調べる 次にそのファイルを開き、FILE構造体がどこで定義されているか調べる 以下それなりに調べれば良いんでしょう? どこにあるか?とか そこまで教えて貰わないと駄目ですか?

yuryu1122
質問者

お礼

遅くなり、申し訳ございません。 回答ありがとうございました。 <stdio.h>の定義の中から見つけて、回答する問題でした。

関連するQ&A

専門家に質問してみよう