c - 是否包含头文件
问题描述
在头文件 ( funlist.h
) 中,我列出了所有函数原型,例如:
int sum(int a,int b);
float prod(float c,float d);
之后,当我在一个 C 源文件 ( ) 中定义“sum”和“prod”时operator.c
,我必须#include "funlist.h"
在一开始就定义吗?
我编译发现无论包含还是不包含都可以得到正确的结果。我很困惑为什么并期待有一个解释。
解决方案
这是一个很好的做法。
有一个比这更可靠的原因:如果您的一个函数调用另一个定义的函数,operator.c
您需要确保该函数的声明或定义发生在调用它之前。最好的方法是在定义任何函数之前声明所有函数。而且由于头文件只是那些声明,因此#include
确保一切都在那里是有意义的。
推荐阅读
- java - 如何在一个片段中显示我的微调器
- c - 用于套接字 SSL 的 Windows API
- java - 如何提高与空间搜索相关的 Solr 查询的性能?
- javascript - 如何将视频数据发送到 Kinesis Video Stream?
- c++ - 在指向各种 Person 实例的 unique_ptrs 向量中访问名为 Truck 的派生类的成员函数的语法是什么?
- csv - 源文件连接(平面文件) - 不读取列元数据
- wix - 在 WIX 中设置对话框序列和自定义
- react-native - 如何在 FlatList 中的状态下设置数据?
- .net - 面板上有某种 ChildrenChangedEvent 吗?
- teamcity - 存储返回值