FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Diferencia conceptual entre struct y typedef struct
Hola a todos,
Ya se que esta no es la clase de pegunta que solemos hacer, aca viene. Cuando defino un estructura en C++ (remarco que C++, por no es igual en C), por ejemplo, un punto definido por sus coordenadas x y y: Código:
struct Point { float x; float y; }; Código:
Point P; P.x = 10.3; P.y = 3.5; Código:
typedef struct { float x; float y; } Point; Pero, en el primer caso estoy creando la variable, llamando al nombre de la estrcutura y en el segundo llamandolo por un "etiqueta" que le puse a la misma estructura. Existe alguna diferencia cuando se crea la varaible?. Son exactamente iguales? Si son iguales, cual es la ventaja de usar el typedef? Gracias Crandel pd: es importante tener los conceptos claros
__________________
[Crandel] |
#2
|
||||
|
||||
Holas! soy nuevo en el foro, pero voy a tratar de ayudar en lo que pueda
Si declarás la estructura asi: Código:
struct Point{ float x, y; }; Código:
struct Point punto; Código:
Point punto; Código:
typedef struct Point Point; En resumen, es conveniente declarar la estructura y la variable como se hace en C, para mayor compatibilidad (a no ser, claro, que se usen clases o cosas propias de C++), aunque la nueva forma de C++ es más coherente... No hay diferencia en cuanto a una declaración u otra, son exactamente lo mismo para C++, pero en C no compila la segunda alternativa... |
#3
|
||||
|
||||
Hola Edgar, muchas gracias por la respuesta, en C lo tenia claro, pero la pregunta iva destinada especificamente a C++ que no estaba seguro como lo trataba.
Gracias Crandel
__________________
[Crandel] |
|
|
|