Qu'est-ce que c'est un fichier *.h ?

Fermé
_Pol_ - 9 déc. 2005 à 00:18
 Devlopper :D - 3 janv. 2018 à 21:01
Bonjour a tous programmeurs en délire... Je vous écris pour vous poser une petite question peut être simple pour vous, les chevronnés de l'info, mais pour moi c'est tout un mal de tête que je me donne chaque soir et ce, depuis 3 jours déjà. Alors, voici ma petite, simple, fastoche question... :

Qu'est-ce que c'est un fichier *.h ? Et comment peut-on s'en servir ?

Le langage de programmation est en C++ [avec le programme Visual C++ .NET], j'ai un vieux PC [autant qu'il fonctionne...] : Pentium 560 Mhz, 256 Mb, 40 Gb HD... Avec Windows XP Édition familiale.

Merci d'avance et puis... passez une agréable journée =D
Votre enchanteur et parfois ridicule qui recule, Paul.

2 réponses

kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 523
9 déc. 2005 à 00:29
Salut,

h c'est le diminutif de header (en-tête).
Un fichier header c'est là qu'on defini habituellement le prototype des fonctions. C'est aussi là qu'on defini les types personnalisés, les structures et les classes.

Ca sert à quoi? Premièrement à mieux s'y retrouver, on trouve la référence de ce qu'il y a dans un fichier c ou cpp dans le header qu'il inclut.

Mais aussi, ça permet de signaler l'existence d'une fonction pour l'utiliser avant de l'avoir définie.

Exemple:
Protoype d'une fonction bidule:
void bidule(char *truc);

Si ce truc est dans le header d'un fichier c (donc dans un fichier *.h inclu dans le fichier c, alors tu peux utiliser cette fonction même si sa définition est faite plus bas dans le fichier c ou encore dans un autre fichier c lié avec celui ci.
Tu pourras donc retrouver sa définition ailleurs:
void bidule(char *truc)
{
        printf("%s",truc);
}

J'ai du mal à expliquer, alors dis le moi si tu n'as pas compris.
50
Super explication !
Merci.
0
je vous conseille de suivre le cours de Open Classroom
il est tres detaillé et vous explique tout de a à z (mais il est tres long)
0
merci :D
0