为什么FILE全部大写如FILE *?

时间:2011-08-04 22:09:58

标签: c history

这对我来说似乎很奇怪,其他大多数都是小写的。

有历史原因吗?

2 个答案:

答案 0 :(得分:11)

这是一个宏。宏历来在C中都有上限。不幸的是,最近的趋势似乎打破了这一事实。

小历史课:此外,FILE是UNIX v7 libc stdio中的io缓冲区抽象。 FILE不一定代表物理文件,只是可以阻止IO的东西。来源:

http://www.bsdlover.cn/study/UnixTree/V7/usr/include/stdio.h.html

“file”也已由内核定义:

http://www.bsdlover.cn/study/UnixTree/V7/usr/include/sys/file.h.html

正如其他人在这里所说的那样现在可能是一个typedef,但我不认为C在79年有类型的因为它只有结构。然后我又没有出生那么...... :)

答案 1 :(得分:5)

这几乎可以肯定,因为至少原来它是一个宏。如今,很有可能它是一个typedef,但是没有人改变名称来启动(这样做会是一个非常糟糕的想法)。