结构体运用的错误解释

请问一下,以下函数中

#include
#include

typedef struct
{
char *name;
int id;
unsigned int age;
char group;
float score;
}Student;

int main()
{
Student cls[] = {
{"张三", 1001, 16, 'A', 95.50},
{"李四", 1002, 15, 'A', 90.00},
{"王五", 1003, 16, 'B', 80.50}
};

printf("%d\n",sizeof(Student));
printf("%d",sizeof(cls));

}

关键字typedef去掉的话为什么会出现下面的情况

img

typedef不能去掉啊,去掉typedef的话,要改为struct Student cls[]
struct Student
{
char *name;
int id;
unsigned int age;
char group;
float score;
};
struct Student cls[] = ...

typedef是重命名的功能,去掉之后不能识别 Student ,如果想去掉之后还能使代码正常,你在struct 后面加上Student