Mam 3 pliki main.c, funkcje.c, funkcje.h.
W funkcje.h zawarłem prototypy, a w funkcje.c implementacje samych funkcji.
Do maina dodałem plik funkcje.h includem. I tu moje pytanie dlaczego program po usunieciu pliku albo kodu prototypów funkcji z pliku dalej ją wykonuje, pytam bo zawsze musiałem deklarować funkcję, a z zewnętrznego pliku działa bez deklaracji. Dodam krótki kod dla czytelności.
#include <stdio.h>
#include "test_main.h"
int liczba = 10;
int main(void){
printf("%d", funkcja(liczba));
return 0;
}
#include "test_main.h"
int funkcja(int liczba){
liczba += 5;
return liczba;
}
#ifndef TEST_MAIN_H_INCLUDED
#define TEST_MAIN_H_INCLUDED
int funkcja(int);
#endif // TEST_MAIN_H_INCLUDED