Incompréhension : Headers & Sources
Bonjour,
Ayant récemment commencé l'apprentissage du C, une question à laquelle je n'ai pas trouvé de réponse m'est venue en tête, je vous explique :
J'ai crée 2 fichiers sources et 2 fichiers headers pour faire un test :
Code:
1 2 3 4 5 6 7 8 9
| #include <stdio.h>
#include <stdlib.h>
#include "deux.h"
int main()
{
int nombre=0;
printf("%d", addFour(nombre));
} |
Code:
1 2 3 4
| int addFour(int a)
{
return 4+a;
} |
Code:
1 2 3 4 5 6
| #ifndef MAIN_H_INCLUDED
#define MAIN_H_INCLUDED
#endif // MAIN_H_INCLUDED |
Code:
1 2 3 4 5 6
| #ifndef DEUX_H_INCLUDED
#define DEUX_H_INCLUDED
int addFour(int a);
#endif // DEUX_H_INCLUDE |
Je ne comprends pas pourquoi cela me renvoie un erreur, je construis la fonction dans deux.c et je mets son prototype dans deux.h, puis je donne à main.c l'accès à deux.h, là où se trouve mon prototype, donc il devrait avoir accès à la fonction et donc être capable d'utiliser la fonction "addFour", non ?
Quel est l'intérêt d'un header s'il n'est utile que pour son propre fichier miroir .c ?
Qu'est-ce qui ne va pas ? Quelqu'un peut-il m'expliquer ce que j'ai mal compris ?
D'avance je vous remercie !
(Je débute, même si ça peut paraître "débile" pour vous, ça ne l'est pas pour moi donc soyez gentils svp :) )