¿Cuál sería la diferencia entre usar o no la palabra reservada typedef? (¿O es necesaria?)
Lo único que estoy haciendo es renombrar un tipo de datos ya existente. Es decir, al tipo
coordenadas* (puntero a un registro
coordenadas) le asigno el nombre
Punto.
De esa manera, para declarar una variable
P de tipo
Punto (o
coordenadas*) y pedir memoria para ella, hay dos formas equivalentes de hacerlo:
1)
coordenadas *P = new coordenadas;2)
Punto P = new coordenadas;Las dos sentencias hacen exactamente lo mismo. Yo personalmente prefiero la segunda por un tema de claridad. Después para cargar, por ejemplo, el punto \( P=(1,0) \), sería:
P -> x = 1;
P -> y = 0;Para liberar la memoria:
delete P;¿Cuál sería la diferencia entre usar o no la palabra reservada typedef? (¿O es necesaria?)
Bueno, si no la usaras estarías
declarando una variable en vez de renombrar un tipo de datos preexistente. Es decir, si en vez de
typedef coordenadas *Punto;escribes
coordenadas *Punto;estarías declarando una variable
Punto de tipo puntero a
coordenadas, es decir, del mismo tipo que la variable
P de mi ejemplo anterior.
Saludos