elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda Con Header En C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda Con Header En C  (Leído 11,000 veces)
ZedGe

Desconectado Desconectado

Mensajes: 154


Ver Perfil
Ayuda Con Header En C
« en: 11 Diciembre 2011, 17:34 pm »

Alguien me Explica las siguientes preguntas sobre el uso de HEADER en C??

1.- Que Es?
2.- Para Que Sirver?
3.- Por que es diferente a llamar directamente a una función de un archivo??
4.- Como se Usa.. me podrían decir ejemplo con un código simple??


Lo que he entendido es que es parte de un código que se usa para no copiarlo varias veces en diferentes archivos....


En línea

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Ayuda Con Header En C
« Respuesta #1 en: 11 Diciembre 2011, 17:46 pm »

Creo que te referis a los archivos .h no?
si es asi que mejor que wikipedia:
http://es.wikipedia.org/wiki/Archivo_de_cabecera


En línea

ZedGe

Desconectado Desconectado

Mensajes: 154


Ver Perfil
Re: Ayuda Con Header En C
« Respuesta #2 en: 11 Diciembre 2011, 18:05 pm »

Así es, ya lo había visto pero aun así no entendí para que sirve y como emplearlo
En línea

Ferno


Desconectado Desconectado

Mensajes: 375


Ver Perfil
Re: Ayuda Con Header En C
« Respuesta #3 en: 11 Diciembre 2011, 18:25 pm »

Básicamente en un header, vos codeás los prototipos de todas las funciones que utilizarás en el source, además de constantes, algunas variables de ese ámbito.
Se puede dividir un programa entero de un solo source, a varios sources diferentes (con sus respectivos header files) y al momento de juntarlos a todos en el source principal (generalmente donde se incluye al main) sólo debes incluir estos .h (como, por ejemplo, hacés con stdio, stdlib, etc).
Gracias a esto, podés utilizar las funciones que declaraste en los header, y que implementaste en su respectivo source! (un archivo .h para declarar, un archivo .c o .cpp para implementar).
Espero que se haya aclarado un poco!
En línea

ZedGe

Desconectado Desconectado

Mensajes: 154


Ver Perfil
Re: Ayuda Con Header En C
« Respuesta #4 en: 11 Diciembre 2011, 18:30 pm »

Es decir en un archivo .c puedo crear mis funciones y en un .h puedo poner algunas variables "globales" y que mas de 1 funcion puede usar?
En línea

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Ayuda Con Header En C
« Respuesta #5 en: 11 Diciembre 2011, 18:37 pm »

:P
cuando agregas un archivo .h le indicas al preprocesador que vas a utilizar una funcion o variable , contantes que se encuentra
en ese archivo.  bueno esto se hace por legibilidad ya que todo el codigo en un archivo cpp no seria muy ordenado digamos
tambien por ejemplo tenemos el archivo windows.h que en donde se tiene que agregar para usar las APIs ya que en este
archivo contiene las direcciones de los archivos que son necesario para usarlas :P
en estos archivos tambien pueden haber includes, osea que pueden depender de otros .h
asi cuando es compilado se enlaza los objetos que has ocupado en tu cpp asi sin tener que agregar codigo por codigo :)

EDIT:
Ya habia respondido Ferno :xD no voy a borrar lo que escribi :xD
Advertencia - mientras estabas escribiendo, fueron publicadas 2 respuestas. Probablemente desees revisar tu mensaje.
En línea

ZedGe

Desconectado Desconectado

Mensajes: 154


Ver Perfil
Re: Ayuda Con Header En C
« Respuesta #6 en: 11 Diciembre 2011, 18:40 pm »

Es decir si creo la funcion Suma(int a,int b) en un .c en el .h puedo crear mis variables  resultadosuma??

la cual despues podria usar en otro .h para hacer una operacion matematica?
En línea

Ferno


Desconectado Desconectado

Mensajes: 375


Ver Perfil
Re: Ayuda Con Header En C
« Respuesta #7 en: 11 Diciembre 2011, 18:46 pm »

En el .h lo que haces es declarar las funciones que vas a implementar en el .c y utilizar en algún otro source. Es decir, declarar los prototipos, constantes, etc.
Este archivo .h junto con su respectivo .c, funcionará como una entidad aparte o una parte de tu programa entero.

Las ventajas que tiene es que puedes utilizarlo en todos los programas que quieras, porque al ser una entidad aparte, éste funciona de tal manera (dependiendo de las precondiciones y postcondiciones) que no cambiará, independientemente del programa en el que lo utilices. Estará disponible siempre y cuando incluyas el header en el .c donde utilizarás las funciones que éste posea. Además de que simplifica mucho el debugging porque si ya trabajaste con esta función creada, sabes que no contiene ningún error siempre y cuando estés cumpliendo las precondiciones!

Ejemplo:
Vos querés hacer un programa que haga un número elevado a otro (potencia).
Pero claro, por qué no mejor dividirlo, creo una función que potencie dos números en un archivo aparte, y luego podré utilizarla no sólo en éste, sino en todos los programas que se me antojen. Pues bien, creo un .h y declaro mi funcion "potencia". Ahora creo un .c, e implemento mi función potencia (incluyendo, obviamente al header para que reconozca el prototipo de la función).

Pues bien, ya tengo mi .h con una función potencia y su respectivo .c donde está implementada. Ahora puedo crear todos los programas que quiero, incluyendo el .h donde está mi función potencia y utilizarla! Así como incluyes el stdio para utilizar scanf y printf o el stdlib para alocar y liberar memoria, etc.

Te recomiendo leer sobre TDAs. Justamente, este conjunto de archivos header y source se conoce, comúnmente, como Tipo de Dato Abstracto.

PD: Quizás te oscurecí más de lo que te aclaré, pero leyendo algo sobre TDA te irás dando cuenta, cualquier cosa vuelve a preguntar y trataré de aclararlo mejor :P
« Última modificación: 11 Diciembre 2011, 18:47 pm por Ferno » En línea

ZedGe

Desconectado Desconectado

Mensajes: 154


Ver Perfil
Re: Ayuda Con Header En C
« Respuesta #8 en: 11 Diciembre 2011, 19:14 pm »

En realidad estoy haciendo un programa para la Universidad, en el cual es solo 1 proyecto pero que de todas formas me piden usar Headers, El prox es de TDA y  ya me e informado sobre ello y listas enlazadas, así que te entendí.... solo me queda esta duda, al crear un .h puedo usarlo o llamarlo desde otro proyecto??
En línea

Ferno


Desconectado Desconectado

Mensajes: 375


Ver Perfil
Re: Ayuda Con Header En C
« Respuesta #9 en: 11 Diciembre 2011, 19:36 pm »

En teoría sí. Pensalo análogamente como una librería.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
PE header
Ingeniería Inversa
_Sergi_ 0 2,146 Último mensaje 22 Julio 2005, 12:57 pm
por _Sergi_
Ayuda con header [solucionado]
PHP
0x0309 0 1,611 Último mensaje 25 Septiembre 2009, 06:49 am
por 0x0309
ayuda Cannot modify header information
PHP
General Dmitry Vergadoski 4 1,875 Último mensaje 1 Febrero 2014, 17:08 pm
por #!drvy
Ayuda - HTTP Header Replay
Hacking
ozzmadark 1 2,417 Último mensaje 30 Junio 2015, 19:04 pm
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines