Предположим, я определил структуру в "struct.h" следующим образом:
struct box {
int value;
}
и я использую эту структуру в другом файле, скажем "math.c"
#include "struct.h"
struct box *sum(struct box *a1, struct box *a2) {
struct box *a3 = malloc(sizeof (struct box));
a3->value = a1->value + a2->value;
return a3;
}
нужно ли в "math.h" включать "struct.h"?
#include "struct.h"
struct box *sum(struct box *a1, struct box *a2);
А что, если struct box были заменены на bool, нужно ли включать stdbool.h как в заголовочный файл, так и в файл c? похоже, что компилятор хочет этого.
Когда следует включать файлы в заголовок, а не в .c? также интересно, есть ли что-то необычное с моим примером.
Спасибо!