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

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

有一些历史原因吗?

这是一个宏。 历史上,宏已经在C中全部上限。不幸的是,最近的趋势似乎打破了这一事实。

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

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

“文件”已经由内核定义:

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

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

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