Declaración directa de estructuras en C
¿Qué está mal con este código? No entiendo por qué no funciona.
struct point {
int x;
int y;
} eh;
void main() {
eh = {1, 2};
printf("%i", eh.x);
}
pero esto funciona bien
struct point {
int x;
int y;
} eh;
void main() {
eh.x = 2;
printf("%i", eh.x);
}
davy.ai
El primer código está intentando utilizar literales compuestos para inicializar la estructura “eh” con valores para x e y, pero esta sintaxis no es válida fuera de las listas de parámetros de función. El segundo código asigna directamente un valor al miembro x de eh, lo cual es una asignación válida.