Hola! el programa te anda?? porque a mi me funciona bien...
typedef struct tipo_alumno{ //En este caso tipo_alumno es opcional
tipo1 miembro1;
tipo2 miembro2;
...
tipoN miembroN;
} var1, var2,...;
Lo que estas haciendo aca es
declarar tipos de datos no variables; var1 y var2 no son variables, esto es por el typedef. Para crear una variable vas a tener que declarar, ej:
var1 MI_ESTRUCTURA; // MI_ESTRUCTURA es la variable
No es lo mismo hacer lo anterior q hacer:
struct tipo_alumno{ // En este caso tipo_alumno tambien es opcional
tipo1 miembro1;
tipo2 miembro2;
...
tipoN miembroN;
} var1, var2,...;
Aca si var1 y var2 son variables declaradas de forma globalOtra forma es no declarando variable globales:
struct tipo_alumno{ // [b]En este caso tipo_alumno tiene que ir si o si[/b]
tipo1 miembro1;
tipo2 miembro2;
...
tipoN miembroN;
};
Para declarar una variable en este caso seria:
main()
{
struct tipo_alumno MI_ESTRUCTURA; // esta variable es local al main
......
}
Ahora cual es la forma mas conveniente depende de cada uno, en mi caso no trabajo con variables globales y tampoco uso el typedef. Es por eso q prefiero el tercer ejemplo, me parece mas facil de entender
Espero te sirva, Saludos