Итак, я следую в Head First C, и мы находимся в главе, где мы учимся собирать несколько файлов вместе. Один из них - encrypt.c
.Почему мне нужно включить файл заголовка .h в .c файл с тем же именем?
#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