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 main.c : Sélectionner tout - Visualiser dans une fenêtre à part
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 deux.c : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 int addFour(int a) { return 4+a; }
Code main.h (vide) : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 #ifndef MAIN_H_INCLUDED #define MAIN_H_INCLUDED #endif // MAIN_H_INCLUDED
Code deux.h : Sélectionner tout - Visualiser dans une fenêtre à part
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)
Partager