所以我在Head First C中跟随我们,我们正在学习一起编译多个文件的章节.其中之一是encrypt.c.
#include "encrypt.h"
void encrypt(char *message)
{
char c;
while (*message) {
*message = *message ^ 31;
message++;
}
}
Run Code Online (Sandbox Code Playgroud)
该encrypt.h文件在结尾处以分号重复第一行,为什么我需要它?我明白为什么我需要头文件来修复在定义之前使用函数的问题,所以我可以理解#including它在一个使用的文件中encrypt.c,但为什么我需要它在里面encrypt.c?这只是"因为"原因之一吗?
Jon*_*Jon 17
如果内容encrypt.c全部显示,则不需要标题.但是包含它仍然是一个好主意,因为:
假设您将 encrypt.c 更改为void encrypt(char *message, int i) { }
如果您不包含 encrypt.h,您将不会注意到应用程序中的其他文件尚未更新以传递新参数。如果您同时更新 encrypt.h 和 encrypt.c,编译器可以为您进行检查。