Hola edr89.
Un ejemplo con inicialización:
Saludos
CitarSe deben inicializar las variables al crear una estructura?, si a x,y les doy el valor de cero el compilador me da error, hay algun problema si no inicializo el arreglo nombre y las variables enteras?No es estríctamente necesario si vas a asignarle valores a sus miembros antes de utilizarlos.
CitarLa sentencia typedef esta bien dentro de main? o debo declarar la estructura fuera como prototipo?Si la declaras dentro de la función main sólo será accesible dentro de la misma. Revisar sobre el ámbito de las variables te va a aclarar ese tema: Ambito de las variables
Un ejemplo con inicialización:
Código (c) [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
typedef struct {
char nombre[15];
float latitud;
float longitud;
} coordinate;
int main()
{
// inicializacion
coordinate ubicacion_01 = {"",0,0};
coordinate ubicacion_02 = {"Helsinki", 60.1699, 24.9384};
coordinate *pt1, *pt2;
pt1 = &ubicacion_01;
pt2 = &ubicacion_02;
printf("Escribe el nombre del lugar: ");
fgets(pt1->nombre, 16, stdin);
printf("Lugar: %s\n",pt1->nombre);
//...
printf("Lugar: %s\nLatitud: %f\nLongitud: %f",
pt2->nombre, pt2->latitud, pt2->longitud);
getchar();
return 0;
}
Saludos