提问人:Embedded_User 提问时间:2/17/2014 最后编辑:SekiEmbedded_User 更新时间:2/20/2014 访问量:239
为什么要包含标准头文件?
why include standard header files?
问:
在 C 中包含标准头文件的原因是什么,例如等等。
gcc 编译器只是显示一个警告并隐式声明它,就像stdio.h
stdlib.h
函数“printf”的隐式声明
并且程序成功执行...
除了删除警告之外,还有什么理由包含头文件吗?
答:
4赞
unwind
2/17/2014
#1
嗯,是的,当然是有原因的。
原因是使用标头,您可以获得正确的声明,否则您将获得隐式声明,其中假定每个函数都返回 。由于有许多函数(例如 malloc())
不返回,假设它们返回可能会非常有害。int
int
通过函数声明,编译器实际上可以检查参数和返回值是否与用法匹配,这非常好。
此外,当然,在某些情况下,标头声明了您需要的数据类型、枚举等,标头中的函数不止于此。
评论
1赞
phuclv
2/17/2014
它不仅是返回值,而且所有参数类型也是隐式的 int,这使得比 int 长的类型(例如 long long int)存在问题
0赞
phuclv
2/17/2014
此外,在 64 位操作系统上,指针是 64 位的,因此隐式 int 可能会导致严重问题
评论
FILE
来命名一个有用并在 stdio.h 中声明的结构#include "stanard_headers.h"