C #include 循环引用问题, 头文件循环引用

关于在C中出现的循环引用问题, 目的希望学习到如何规避头文件循环引用出现的这类错误.

大概逻辑描述

main.c : 是程序入口, 
a.h,b.h,c.h 为头文件;
其中
a.h 中 include c.h; 
c.h include b.h ;
b.h include a.h

运行程序报错,

相关代码

main.c
#include <stdio.h>#include "a.h"int main(int argc, const char * argv[]) {    printf("Hello ! \n");    return 0;
}
a.h
#ifndef a_h#define a_h#include "c.h"struct sem{
    struct eve *evet;};#endif /* a_h */
b.h
#ifndef b_h#define b_h#include "a.h"struct pan{
    struct sem semt;};struct dev{
    int x;
};#endif /* b_h */
c.h
#ifndef c_h#define c_h#include "b.h"struct eve{
    struct dev *devt;};#endif /* c_h */

期待给出自己遇到的关于头文件循环引用的例子和解决方法,有理有据;之所以问题发出来希望帮助更多遇到类似问题的人,同时希望答案相对全面一些.


慕桂英3389331
浏览 1594回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP