关于在C中出现的循环引用问题,目的希望学习到如何规避头文件循环引用出现的这类错误.大概逻辑描述main.c:是程序入口,a.h,b.h,c.h为头文件;其中a.h中includec.h;c.hincludeb.h;b.hincludea.h运行程序报错,相关代码main.c#include #include"a.h"intmain(intargc,constchar*argv[]){printf("Hello!\n");return0;}a.h#ifndefa_h#definea_h#include"c.h"structsem{structeve*evet;};#endif/*a_h*/b.h#ifndefb_h#defineb_h#include"a.h"structpan{structsemsemt;};structdev{intx;};#endif/*b_h*/c.h#ifndefc_h#definec_h#include"b.h"structeve{structdev*devt;};#endif/*c_h*/期待给出自己遇到的关于头文件循环引用的例子和解决方法,有理有据;之所以问题发出来希望帮助更多遇到类似问题的人,同时希望答案相对全面一些.
Smart猫小萌
相关分类