Hola Zodiak98
Mira la instrucción "
typedef" sirve para renombrar un tipo de dato.
Su formato es:
typedef <tipo_original> <nuevo_nombre_tipo>
para que lo entiendas mejor mira este ejemplo:
typedef int entero; //hace que la palabra "entero" sea equivalente al tipo int
De este modo si ahora quisiéramos crear un entero podríamos hacerlo de 2 maneras.
Usando el nuevo nombre que le hemos otorgado en la linea anterior al tipo de variable "
int":
entero num;
o como siempre:
int num;
Explicado esto vamos con tu pregunta, si lo pones antes de la declaración de una estructura "
struct" lo único que estas haciendo es mejorar la legibilidad de tu programa, por que cuando necesites generar una estructura de ese tipo, no tendrás que incluir la palabra reservada "
struct" delante del nombre que le diste a dicha estructura, te pongo el ejemplo que usaste para hacer la pregunta.
typedef struct miestructura
{
int INT_example;
float FL_example;
};
Ahora cada vez que quieras declarar una nueva estructura del tipo "
miestructura" lo harás de esta manera.
miestructura objeto;
Pero si no incluimos la instrucción "
typedef" delante como vemos en el siguiente ejemplo:
struct miestructura
{
int INT_example;
float FL_example;
};
Ahora cuando quieras declarar una nueva estructura del tipo "
miestructura" deberás incluir la palabra reservada "
struct" delante de la declaración de esta manera:
struct miestructura objeto;
Para terminar lo que hacemos al usar "
typedef" esa hacer el código más fácil de leer.
Un saludo
Kaltorak.
Heheheh gracias! No estaba seguro de que fuera eso pero ahora ya estoy tranquilo xD.
¡Buenas!
Como ya te han dicho,
typedef sirve para crear alias de los distintos tipos de dato que puedas tener.
De todas formas hacer esto
typedef struct
{
//...
}un_struct;
es algo que siempre me ha parecido odioso por cuestiones de legibilidad de código.
struct un_struct
{
//...
};
typedef struct un_struct un_struct;
Queda mucho mas ordenado, primero defines un
struct, y luego abrevias la notación, y puedes utilizar tanto la notacion
un_struct una_variable como
struct un_struct una_variable, si quieres dejar claro que el dato que estás usando es un
struct. Si lo haces de la otra forma nunca podrás utilizar la notación
struct un_struct ya que no habrás definido un
struct con nombre, simplemente le has dado un nombre alternativo a un
struct anónimo...
Ya te digo que esto simplemente es mi opinión, cada uno tiene sus gustos, pero como ya te he dicho, me parece que queda mas claro todo definiendo primero un
struct con nombre, y luego redefiniendo la notación, que directamente dándole un alias a un
struct sin mombre.
¡Saludos!
Tienes mucha razón, bueno a mí se me hace más entendible colocando a la hora de instanciar objetos el prefijo struct, no se, supongo que se me hace más cómodo y más entendible como tú dices. :B