所以我在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