>>1488920In C arrays in size HAVE to be knows at compile time, an empty [] is not allowed.
Depending on the compiler you CAN pass a varaible to an array (Varaible Length Array), but it cannot be empty. Use a define statement, e.g.
#define MAX_LEN_NAME 21
#define MAX_LEN_CLASS 41
(...)
char name[MAX_LEN_NAME];
cahr clas[MAX_LEN_CLASS];
(...)