• Martes 14 de Mayo de 2024, 05:13

Autor Tema:  Typedef  (Leído 1259 veces)

AnioN

  • Miembro MUY activo
  • ***
  • Mensajes: 339
    • Ver Perfil
Typedef
« en: Sábado 10 de Junio de 2006, 15:25 »
0
que diferencia hay entre estos dos codigos.
Código: Text
  1.  
  2. typedef struct {
  3.    int a;
  4. }tpo_elemento;
  5.  
  6.  
y
Código: Text
  1.  
  2. typedef struct nodo {
  3.   int a;
  4. }tipo_elemento;
  5.  
  6.  

robbie110487

  • Miembro activo
  • **
  • Mensajes: 66
    • Ver Perfil
Re: Typedef
« Respuesta #1 en: Sábado 10 de Junio de 2006, 17:44 »
0
El primer codigo corresponde a una estructura anonima que puede utilizarse a traves de su typedef
Ejemplo:

Código: Text
  1. typedef struct {double re, im; } COMPLEX;
  2. ......
  3. COMPLEX c, *ptrc, arrc[10]
  4.  

Y en el segundo codigo estas poniendo nombre a la estructura al mismo tiempo que se declara el typedef
Ejemplo:

Código: Text
  1. typedef struct C1 {double re, im;} COMPLEX;
  2. ...
  3. C1 c, *ptrc;
  4. COMPLEX Arrc[10];
  5.  

Aunque no es usual utilizar el alias y el nombre simultaneamente.

Fuente y para mas info sobre typedef : http://www.zator.com/Cpp/E3_2_1a.htm

Un saludo  :hola:

AnioN

  • Miembro MUY activo
  • ***
  • Mensajes: 339
    • Ver Perfil
Re: Typedef
« Respuesta #2 en: Sábado 10 de Junio de 2006, 18:11 »
0
o sea que ambos casos son iguales, no?, se esta creando un alias de una estructura con la unica diferencia que en la primera es anonima y en la otra no.
En este caso:
Código: Text
  1. typedef struct nodo {
  2.  int a;
  3. }tipo_elemento;
  4.  
es lo mismo:
Código: Text
  1. struct nodo a;
  2. tipo_elemento a;
  3.  
Pero en este caso:
Código: Text
  1. typedef struct {
  2.   int a;
  3. }tipo_elemento;
  4.  
solo se puede declarar:
Código: Text
  1. tipo_elemento a;
  2.  
porque si es anonima y no se crear un alias no se puede declara una variable de ese tipo no?

robbie110487

  • Miembro activo
  • **
  • Mensajes: 66
    • Ver Perfil
Re: Typedef
« Respuesta #3 en: Sábado 10 de Junio de 2006, 18:32 »
0
Asi es, exactamente como lo has definido, puedes usar cualquiera de las 2, pero en caso de que no sea anonima, puedes usar el nombre de la estructura o el alias...

AnioN

  • Miembro MUY activo
  • ***
  • Mensajes: 339
    • Ver Perfil
Re: Typedef
« Respuesta #4 en: Sábado 10 de Junio de 2006, 23:38 »
0
Muchas Gracias. ;)