[C con Clase] Dos formas de declarar una estructura

User usuarioanonimomysql en gmail.com
Jue Oct 11 20:55:50 CEST 2012


Perfecta aclaración Salvador, muchas gracias.

Un saludo.

El 11 de octubre de 2012 15:13, Salvador Pozo <salvador en conclase.net>escribió:

> El pasado 2012-10-09 13:40:28, User escribió:
>
> U> Hola,
> U> A ver si me podéis aclarar esta duda.
> U> Qué diferencia hay entre declarar una estructura de esta forma:
> U> typedef struct {
> U>    double x;
> U>    double y;
> U>    double z;
> U> } coordenada;
> U> y de esta otra:
> U> struct coordenada {
> U>    double x;
> U>    double y;
> U>    double z;
> U> };
>
> Hola:
>
> Para responder a esta pregunta con precisión hay que distinguir entre C y
> C++.
>
> En C la diferencia es más evidente, ya que al declarar variables de tipo
> struct es necesario especificar esa palabra. Por ejemplo, si usamos la
> segunda declaración, para declarar una variable usaremos la expresión:
>
> struct coordenada punto1;
>
> En cambio, usando la primera estamos definiendo un tipo nuevo, y sólo
> necesitamos especificar el nombre del tipo:
>
> coordenada punto1;
>
> Ahora bien, en C++ la palabra reservada struct es opcional en las
> declaraciones de variables (u objetos), de modo que ambas declaraciones son
> esquivalentes, y por lo tanto, también podemos usar los dos tipos de
> declaraciones.
>
> En ese sentido, C++ es algo más flexible con las estructuras, aunque de
> hecho, internamente se tratan igual que las clases, aunque eso es otro
> tema...
>
> Hasta pronto.
>
> --
> Salvador Pozo (Administrador)
> mailto:salvador en conclase.net
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20121011/ef13a752/attachment.html>


Más información sobre la lista de distribución Cconclase