Duda al inicializar estructuras
Hola, estoy aprendiendo a programar en C y me ha surgido una duda.
Defino una estructura y creo una instancia:
struct vector{
int x;
int y;
} vect1;
Es normal que no me deje inicializar ninguno de sus miembros fuera de la funcion main, es decir, este codigo me da error:
vect1.x = 12;
int main ()
.
.
.
y este no
int main ()
{
vect1.x = 12;
Y otra cosa, ¿solo puedes inicializar todos los miembros de la estructura mientras declaras la instacia?, es decir, ¿esto no es correcto en ningun caso?
estruct vector vect2;
vect2 = {12, 14};
A ver si alguien puede echarme una mano, por cierto, un saludo a todos los miembros del foro.
Defino una estructura y creo una instancia:
struct vector{
int x;
int y;
} vect1;
Es normal que no me deje inicializar ninguno de sus miembros fuera de la funcion main, es decir, este codigo me da error:
vect1.x = 12;
int main ()
.
.
.
y este no
int main ()
{
vect1.x = 12;
Y otra cosa, ¿solo puedes inicializar todos los miembros de la estructura mientras declaras la instacia?, es decir, ¿esto no es correcto en ningun caso?
estruct vector vect2;
vect2 = {12, 14};
A ver si alguien puede echarme una mano, por cierto, un saludo a todos los miembros del foro.
Prueba con esto:
// Declara la estructura
struct Vector
{
int x;
int y;
};
// Estructura inicializada en la declaración
struct Vector MiVector = { 7, 8 };
void main(void)
{
printf("MiVector.x=%d, MiVector.y=%d", MiVector.x, MiVector.y);
Tendrá que imprimir:
MiVector.x=7, MiVector.y=8
Saludos,
// Declara la estructura
struct Vector
{
int x;
int y;
};
// Estructura inicializada en la declaración
struct Vector MiVector = { 7, 8 };
void main(void)
{
printf("MiVector.x=%d, MiVector.y=%d", MiVector.x, MiVector.y);
Tendrá que imprimir:
MiVector.x=7, MiVector.y=8
Saludos,
