在C语言中,FILE是关键字吗?

puts("Enter a name for the file."); gets(filename); if ( (fp = fopen(filename, "w")) == NULL) { fprintf(stderr, "Error opening file %s.", filename); exit(1); } /* Write the numerical data to the file and to stdout. */ for (count = 0; count < 5; count++) { fprintf(fp, "\ndata[%d] = %f", count, data[count]); fprintf(stdout, "\ndata[%d] = %f", count, data[count]); } fclose(fp); printf("\n"); return 0;}void clear_kb(void)/* Clears stdin of any waiting characters. */{ char junk[80]; gets(junk);}请问:在C语言中,第9行 FILE 是关键字还是只是一个符号常量?如果不是,它是什么,有什么作用?

FILE不是C语言关键字,只是标准C中的标准输入输出中定义的一个新的数据类型
stdio.htypedef struct _iobuf{ char* _ptr; int _cnt; char* _base; int _flag; int _file; int _charbuf; int _bufsiz; char* _tmpfname;} FILE;FILE 主要用来定义带缓冲的文件指针,如:FILE *fp;

附:C语言一共有32个关键字,如下:
auto 局部变量(自动储存)break 无条件退出程序最内层循环case switch语句中选择项char 单字节整型const 定义不可更改值的变量continue 中断本次循环,并转向下一次循环default switch语句中的默认选择项do 用于构成do.....while循环语句double 双精度浮点型else 构成if.....else选择程序结构enum 枚举extern 声明外部全局变量float 单精度浮点型for 构成for循环语句goto 跳到程序中指定的标签位置if 构成if....else选择结构int 整型long 长整型register 定义CPU内部寄存的变量return 用于返回函数的返回值short 短整型signed 有符号数 与基本整型类型结合使用sizeof 计算表达式或数据类型的占用字节数static 定义静态变量、函数struct 定义结构类型switch 构成switch选择结构typedef 重新定义数据类型union 联合类型unsigned 定义无符号数据 与基本整型类型结合使用void 定义任意类型指针void * , 无参数 , 无返回值等volatile 易失性变量while 用于构成do...while或while循环结构
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-09
FILE 是 C语言文件结构定义, 打开文件和文件操作要用到这类结构.可以看成变量类型,用于变量声明.

它不是关键字,当你的程序不涉及文件操作时,而你又喜欢用它做变量名也许可,例如:
#include <stdio.h>
void main()
{
int FILE=3;
printf("%d",FILE);
}
结果打出3

但最好避免这种习惯. 还是把FILE看成关键字为好.
第2个回答  2018-03-09
不是关键字,它是一个自定义数据类型,它的定义在stdio.h文件中,具体的定义如下:

typedef struct
{
unsigned char *curp; /* Current active pointer */
unsigned char *buffer; /* Data transfer buffer */
int level; /* fill/empty level of buffer */
int bsize; /* Buffer size */
unsigned short istemp; /* Temporary file indicator */
unsigned short flags; /* File status flags */
wchar_t hold; /* Ungetc char if no buffer */
char fd; /* File descriptor */
unsigned char token; /* Used for validity checking */
} FILE;
第3个回答  2018-03-09
不是的,只是一个结构体!

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网