2011-04-30 3 views
0

내 c 파일 (sample.c)에 대한 헤더 파일 (sample.h)이 있습니다. 아래 헤더 파일에서 함수를 프로토 타이핑 할 때.<stdio.h>은 C의 FILE에 필요합니까?

return_type sample_fun (FILE *filePtr); 

나는 내가 STDIO.H 오류가 해결 될 때 포함 할 때, Syntax error: possible missing ')' or ','?를 말하는 컴파일 오류가 발생합니다. stdio.h는 필수 항목입니까? 일부 파일은 포함하지 않고 잘 작동합니다.

AIX에서 gcc를 사용합니다.

+3

'FILE' 유형이 stdio.h' '에 정의되어있다 :

은 자세한 내용은이 질문을 참조하십시오. – ruslik

+2

파일이 없으면 어떤 파일이 제대로 작동합니까? 아마 그 파일들은 stdio.h를 포함한 다른 헤더를 포함하고있을 것이다. –

+0

@ 예 예, 많은 헤더 파일을 포함 할 수 있습니다. – San

답변

5

예, 유형 FILEstdio.h으로 정의됩니다. 언급하면 그 파일을 포함시켜야합니다.

2

예입니다. FILE은 대부분의 플랫폼에서 struct iobuftypedef입니다. 모든 인터페이스가 FILE *을 사용하고 포인터 유형이 일반적으로 사용 (C 제한) 전에 완전한 정의를 필요로하지 않더라도 struct iobuf의 완전한 정의가 있어야합니다. Forward declare FILE *