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;
};
entonces tendrías que declarar una variable de su tipo en C así:
Código:
struct Point punto;
pero en C++ tambien lo podes hacer así:
cosa que para hacerlo así en C tenes que declarar un tipo definido por el usuario así:
Código:
typedef struct Point Point;
Nota: Es válido declarar un tipo con el mismo nombre que una estructura, union o enumeración, ya que el compilador los trata de una forma especial.
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...