preguntilla

MAKI
07 de Febrero del 2004
hola!queria hacer una pregunta sencilla haber si me la puede contestar alguien, cuando declaro un nuevo tipo de datos con typedef, como por ejemplo :
struct typedef nodo{
int valor;
struct hoja *derecho;
struct hoja *izquierdo;
}hoja;
bien, una vez creado este nuevo tipo de dato si lo quiero usar fuera del archivo donde lo he declarado, ¿he de incluir su declaracion en un archivo de cabeceras y luego incluir ese archivo de cabecera donde yo lo quiera usar o basta simplemente con poner extern?esa era mi pregunta, gracias por la atencion. Saludos.

Alejandro
07 de Febrero del 2004
¿Qué tal MAKI?

Supongo que quisiste decir:

typedef struct nodo {
int valor;
struct hoja *derecho;
struct hoja *izquierdo;
} hoja;

lo significa que has declarado la estructura "nodo", así como que "hoja" es una nueva forma de decir
struct nodo {/*...*/};

Entonces, a partir de acá se puede poner:

struct nodo unNodo;
hoja unNodo;

ya que ahora las dos expresiones son equivalentes.

Entonces, si esta declaración está en un archivo de cabecera (un .h), tendrás que incluirlo en donde la vayas a usar (#include...); si es global, extern le dice al compilador que está definida en otro lado.

Alejadnro