所以我在Head First C中继续学习,并且我们正在学习将多个文件一起编译的章节。其中之一是encrypt.c
。为什么我需要在同名的.c文件中包含.h头文件?
#include "encrypt.h"
void encrypt(char *message)
{
char c;
while (*message) {
*message = *message^31;
message++;
}
}
的encrypt.h
文件上重复,并在最后一个分号的第一行,所以我为什么需要它?我明白为什么我需要头文件来解决在定义函数之前使用函数的问题,所以我可以理解#include在使用encrypt.c
的文件中,但为什么我需要它在encrypt.c
之内?这仅仅是那些“因为”原因之一吗?
在定义之前,不能使用函数。您可以声明该函数的标题,然后在定义它之后使用它。但是头文件不会授予您超级用户,因为它允许您使用未声明的函数。 – smac89
在这个特定的例子中不相关,但是头文件通常还定义了'typedef'和'struct'以及在这个头文件中声明的函数可能要使用的所有类型的东西。 –
我也有其他人。这本书有缺点,但都是。 – punstress