FILE *
読み:ファイル-アスタリスク
外語:FILE *

 CC++おける、ポインター変数の型の一つ。ファイルハンドル
目次

概要
 C/C++の標準関数等で用意されるストリーム関数、例えばfopen()、fdopen()、freopen()などは、FILE *を返す。
 以降、ストリームに対するアクセスはFILE *型変数を用い、使い終わった時にはfclose()をFILE *型変数を入れて呼び出す。

特徴
 多くの実装では、FILE型はストリームの情報が格納され、内部で使用される構造体であり、FILE *は、その構造体に対するポインターである。但しCの標準仕様上は、必ずしも構造体である必要はない。
 つまり、ポインターであること自体に意味があるのであって、そのポインターが指し示す内容については、プログラマーは考慮する必要がない。実装側からも情報を提供しなければ、プログラマーもその先の情報には一切手を触れない。
 ではなぜポインターなのかというと、OSや実装が内部で利用する構造体に対するポインターであるからで、これを各オブジェクトの識別に利用するのである。
 ポインターが識別に利用できるのは、次のような条件が整っているからである。

再検索