这个就是结构体的声明问题,结构体在定义了之后当你需要使用结构体的时候,你便需要声明一个结构体变量,方法就是AC两个选项的方法,一个就是在定义的时候直接写到后面,另一个就是写好之后再重新声明一个结构体,为什么C对D不对,你看就是因为你在定义结构体的时候已经用了分号表示定义结构体结束了,再想使用就得用c这个方法了,D在声明结构体变量的时候没用struct 关键字,就不能成为一个正确的声明
以上仅代表个人观点,如果你还有哪里不会,欢迎叨扰!
D的student s前面要加struct才行,单独定义需要的格式是struct、结构名、变量名,这三者用空格隔开,例如struct address nest_address。