Foros del Web » Programación para mayores de 30 ;) » C/C++ »

typedef vs struct

Estas en el tema de typedef vs struct en el foro de C/C++ en Foros del Web. Hola! Yo normalmente cuando necesito un nuevo tipo de datos, algo simple como por ejemplo una moneda de la que tengo que manejar su color ...
  #1 (permalink)  
Antiguo 14/03/2011, 07:28
 
Fecha de Ingreso: septiembre-2010
Mensajes: 7
Antigüedad: 13 años, 7 meses
Puntos: 0
typedef vs struct

Hola!

Yo normalmente cuando necesito un nuevo tipo de datos, algo simple como por ejemplo una moneda de la que tengo que manejar su color y su valor, lo hago con una estructura así:

Código C++:
Ver original
  1. struct Moneda
  2. {
  3.     int valor;
  4.     string color;
  5. };

En cambio, he visto en muchos sitios que la gente usa más bien:

Código C++:
Ver original
  1. typedef struct Moneda
  2. {
  3.     int valor;
  4.     string color;
  5. };

Me pregunto qué tiene de diferente una cosa de la otra, excepto el hecho de que para declarar una nueva moneda con struct sería algo así:

Código C++:
Ver original
  1. struct Moneda m;

y con typedef simplemente:

Código C++:
Ver original
  1. Moneda m;

Typedef tiene q servir para algo más que para ahorrar palabras a programadores perezosos, no?
  #2 (permalink)  
Antiguo 14/03/2011, 09:25
 
Fecha de Ingreso: marzo-2011
Mensajes: 54
Antigüedad: 13 años, 1 mes
Puntos: 11
Respuesta: typedef vs struct

Que yo sepa, typedef sirve para asignar un alias a unas palabras en concreto, por ejemplo:
Código C++:
Ver original
  1. typedef unsigned long int US; /* A partir de ahora, cada vez que escribas US se entenderá como un unsigned long int*/

Además, que yo sepa en C si que era necesario poner struct Moneda m; para crear una nueva "Moneda", pero en C++ con poner Moneda m; te vale xD
  #3 (permalink)  
Antiguo 18/03/2011, 08:11
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 13 años, 10 meses
Puntos: 73
Respuesta: typedef vs struct

En C tienes que poner
Código C:
Ver original
  1. struct Moneda m
si has declarado
Código C:
Ver original
  1. struct Moneda
  2. {
  3.  ...
  4. };
pero si has declarado
Código C:
Ver original
  1. typedef struct
  2. {
  3.  ...
  4. }
  5. Moneda;
basta con que pongas
Código C:
Ver original
  1. Moneda miMoneda;
cuando quieras declarar una estructura de tipo Moneda.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:53.