¿Qué es un archivo *.h?

_Pol_ -  
 Devlopper :D -
Hola a todos los programadores en delirio... Les escribo para hacerles una pequeña pregunta que quizás sea simple para ustedes, los expertos en informática, pero para mí es todo un dolor de cabeza que me doy cada noche y ya van 3 días. Así que aquí va mi pequeña, simple, fácil pregunta... :

¿Qué es un archivo *.h? ¿Y cómo se puede utilizar?

El lenguaje de programación es C++ [con el programa Visual C++ .NET], tengo una PC vieja [mientras funcione...] : Pentium 560 Mhz, 256 Mb, 40 Gb HD... Con Windows XP Edición Familiar.

Gracias de antemano y que... tengan un agradable día =D
Su encantador y a veces ridículo que retrocede, Paul.

2 respuestas

  1. kilian Mensajes publicados 8675 Fecha de registro   Estado Moderador Última intervención   1 526
     
    Hola,

    h es el diminutivo de header (encabezado).
    Un archivo header es donde normalmente definimos el prototipo de las funciones. También es donde definimos los tipos personalizados, las estructuras y las clases.

    ¿Para qué sirve? Primero, para ubicarse mejor, encontramos la referencia de lo que hay en un archivo c o cpp en el header que incluye.

    Pero también, permite señalar la existencia de una función para utilizarla antes de haberla definida.

    Ejemplo:
    Prototipo de una función bidule:
    void bidule(char *truc);

    Si este truc está en el header de un archivo c (por lo tanto en un archivo *.h incluido en el archivo c), entonces puedes usar esta función incluso si su definición está más abajo en el archivo c o en otro archivo c relacionado con este.
    Por lo tanto, podrás encontrar su definición en otro lugar:
    void bidule(char *truc) { printf("%s",truc); }

    Me cuesta explicarlo, así que dímelo si no has entendido.
    50
    1. HerveB
       
      ¡Super explicación!
      Gracias.
      0
    2. Xx_hugo_xX
       
      le aconsejo que siga el curso de Open Classroom
      es muy detallado y le explica todo de la a la z (aunque es muy largo)
      0
    3. Devlopper :D
       
      ¡gracias :D!
      0