关于结构体不允许使用不完整的类型的问题

img


当我把关键字typedef注释掉之后,并在结构体变量前加了struct还是提示我不允许使用不完整的类型,刚学到结构体请大lao指导

你这样写它认为你在定义结构体,把main里面的struct删掉,student改成大写

img

img

哇 我看了半天 楞是没看出来你是楼上说的大小写的问题。
定义一个struct Student{}; 这里结构体再定义时,struct Student 或者省略Studet 都可以代表类型,和int同样那种类型。
或者你用 typedef struct Studet XXX; typedef就是重命名了, XXX也可以代替前面说的 struct Student,也就是说,你如果这样做了,定义变量时,用XXX,Student(省略了前面struct),struct Student 三个都可以。

img