duda sobre typedef struct

albarchi
10 de Enero del 2005
Hola

Alguien me podria explicar exactamente este codigo?

1 typedef struct _lnodo{
2 ElementoGeometrico e;
3 struct _lnono *sig;
4 }lnodo;

Lo que yo entiendo es:
Estoy creando una estructura llamada: _lnodo y declaro una variable de ella q es: lnodo

No entiendo pq mete typedef y tampoco entiendo la 4 linea.

Si me podeis echar un cable? Gracias de antemeno

Alejandro_
10 de Enero del 2005

typedef sirbe para declarar que Inodo es un nuevo tipo de dato: una estructura " _Inodo".

A partir de esa declaración, ya podrás decir algo como:

Inodo nodo;

con lo que habrás declarado a "nodo" como un tipo de dato "Inodo", o lo que es lo mismo, como un tipo de dato "struct Inodo". Más claro, imposible...

También, podrás poner:

typedef Iodo *pNodo;
typedef Inodo *Lista;

declarando dos punteros al mismo tipo de estructura.

Bien, pero esto sólo es útil en C, ya que en C++ es redundante, no se necesita en absoluto, y molesta.

Espero haber alclarado algo, y si algún "profesor universitario" de esos que todavía no les da la verguenza para avandonar el "Turbo C" y esas porquerías, que se asome por acá y ya veremos :)

Saludos,

Alejandro