Je vais essayer de faire une explication simple et non détaillée pour que tu puisses comprendre.
Première choses, comme l'a dit Chris_27, ce n'est utile d'une part, que pour mieux structurer son code --> s'il fait même pas 100 lignes, laisse tomber c'est pas la peine de te faire chi** avec ça
Maintenant il a aussi une autre utilité (principale) c'est de te permettre de réutiliser des fonctions (souvent complexes / longues) que tu aurais implémenté auparavant (afin de ne pas devoir les coder à nouveau à chaque fois que tu en as besoin).
Prenons un exemple basique : tu as créé tes propres fonctions de saisies sécurisées et tu dois les réutiliser souvent dans d'autres programmes. Le mieux est de les implémenter dans par exemple fonctions.c (contiendrait l'implémentation des fonctions, struct, etc ...) et fonctions.h (contiendrait les prototypes, includes, ...). Il te suffirait dans tes nouveaux programmes d'inclure ces fichiers pour directement pouvoir réutiliser tes fonctions de saisie. Ceci étant un exemple fort simple. Ces comme ça que en accumulant des tas de fonctions, tu peux te créer ta petite bibliothèque perso
... Mais bon comme je l'ai dit : c'est fort basique et on le fait rarement pour si peu !
Un autre exemple, d'un programme sur lequel je travaille actuellement (en C++ mais c'est le même principe), à pour but d'échanger des informations à travers le réseau --> pour ne pas que n'importe qui intercepte les paquets envoyés et puisse lire ce qui transite, je me suis fait des fonctions de cryptage / décryptage basées sur le principe RSA. Elles sont complexes (utilisent le principe d'exponentiation modulaire, un algo du théorème d’Euclide étendu, ...). Fin comme tu le vois c'est long et complexe et si je devais les implémenter à nouveau à chaque fois que je voulais les utiliser dans d'autres programmes : je changerais d'études directement
Maintenant si tu veux savoir comment utiliser les headers voici comment procéder :
Supposons que tu veuilles utiliser la fonction : int add(int, int) qui fait une addition qui se trouve dans le fichier fonction.h (prototype) et fonction.c (code de la fonction)
1) tu crée un fichier fonction.h et un autre fichier fonction.c (/!\ les fichiers doivent avoir le même nom /!\)
fonction.h :
___________________
- ifndef FONCTION_H
- define FONCTION_H
int add(int, int); // prototype de la fonction
- endif
fonction.c : tu dois include en premier fonction.h
________________________________________________
- include "fonction.h"
//implémenter ici ta fonction
int add(int a, int b)
{
.... return (a + b);
}
2) tu crées un fichier principale exemple main.c et la seule chose à inclure ici est fonction.h
- include <stdio.h>
- include <stdlib.h>
- include "fonction.h"
int main(int argc, char **argv)
{
.... int resultat;
.... resultat = add(2, 3);
.... printf("resultat vaut : %d\n", resultat);
.... return EXIT_SUCCESS;
}
Voilà j'espère que tu y arriveras :p Maintenant, je t'ai juste expliqué comment faire et pas comment ça marche... Si tu veux savoir comment le compilo fait pour linker je veux bien te l'expliquer mais demande le moi alors car c'est long et j'ai pas envie de le faire si c'est pour que tu ne le lise pas 