Debe ser por un tema de como manejan las memoria uno se tilda y otro no. Pero lo que haces esta mal. Porque vos reservas memoria para un solo estudiante y necesitas para "x" estudiante.
Código C:
Ver originalint x,i;
cout<<"digite el numero de estudiantes\n";
cin>> x;
alumno
*estudiante
; estudiante
=(alumno
*)malloc(x
* sizeof(alumno
));