Envoyé par
PsychoH13
Pour commencer, les #include permettent de partager l'interface d'une bibliothèque ou d'un autre fichier .c à d'autres fichiers. En fait, le C demande qu'on lui fournisse le prototype des fonctions qu'on utilise, et les .h permettent de connaître ces prototypes afin de faire la liaison correctement entre appels de méthodes et implémentation des méthodes.
Pour ta deuxième question, le C est un langage de bas niveau où tout doit être très précisément définit, ce que tu indiques correspond à la surcharge en C++, Java ou C#, et ça ce n'est pas disponible dans le C, car encore une fois on a besoin de connaître les signatures précises des fonctions afin que la conversion en instructions processeurs soit efficace.