En fait, ce sont des fichiers qui contiennent les déclaration de type et de fonctions que tu vas utiliser dans les fichiers de programme proprement dit.
Par exemple:
Fichier square.h:
- ifndef _SQUARE_
- define _SQUARE_
int square ( int);
- endif
Le fichier square.h indique juste qu´il existe une fonction square, ainsi que son prototype, mais ne comprend pas la description de la fonction, qui se trouvera elle dans un fichier . c ou . cpp :
fichier square.c
- include " square.h"
int square(int a)
{
return ( a*a);
}
Par la suite, si tu as besoin de la fonction square dans un autre fichier, tu peux faire:
fichier main.c
- include " square.h"
void main()
{
return square(5);
}
Quel intérêt ?
- d´une part, le fichier . h qui ne contient que des déclarations est bien plus simple à lire pour un utilisateur qu´un fichier . c contenant également le code des fonctions.
- d´autre part, si la façon dont est implémentée la fonction square dans un fichier square.c est modifiée, tu n´auras pas besoin de changer le fichier square.h qui ne contient que la déclaration de la fonction, et tu n´auras donc pas besoin non plus de recompiler le fichier main.c : dans un petit projet, ça ne change pas grand chose, mais ça devient très important quand ton programme atteint plusieurs milliers de lignes de code.