偶然发现代码里面有个未定一个结构体类型,形式如下: struct vas;
而在当前文件中又实现了其定义。
一开始不理解其意义,看完代码发现了其作用:
因为另一个包含了它的结构体的定义代码放在了struct vas定义的前面,前面的struct vas是为了告诉编译器,这个struct vas是定义了的,后面是其真正定义。
#include <stdio.h> struct vas; struct devs{ struct vas vaa; char* name; int v; }; struct vas{ int age; char *name; }; int main() { struct vas va = { 11 , "ocean"}; printf("age = %d , name : %s\n ", va.age, va.name); return 0; }
时间: 2024-10-14 05:33:14