C语言丨引入头文件时,这个细节你注意到了吗?

本文探讨了在C语言编程中头文件包含的细节,指出头文件不应包含其他头文件,而应在源文件中包含所有需要的头文件。通过示例说明了头文件包含顺序的重要性,如果顺序错误,可能导致编译错误。最后强调了理解预编译过程对于避免这类问题的关键,并鼓励编程初学者深入学习。
摘要由CSDN通过智能技术生成

今天说一个我在工作时候发现的一个细节,可能大家都已经清楚的知道了,我就在这里记录一下吧。不想看过程的直接去文末看结论吧。

声明一下:以下源文件就是.c文件,头文件就是.h文件。

 

编程规范规定,头文件里面不能include其他文件,只能在源文件中include使用到的头文件,防止头文件重复包含。对于我这种平时没这个规范习惯的人来说,就有疑问了。假如我有头文件a.h和b.h,a.h中定义了一个结构体数据类型,而我在b.h中是要使用这个数据类型的,一般情况我会直接在b.h这个头文件中包含a.h。这样就可以正常使用了,如果头文件不包含头文件的话,只在源文件中包含,这样能使用吗?会不会报错?

例如:源文件mian.c中包含了头文件a.h和b.h,头文件b.h中需要引用a.h中的数据结构类型。通过这种关系我自己做了一个检验。

a.h文件中定义了一个结构体类型,内容如下:

/*file: a.h*/

#ifndef __A_H__

#define __A_H__

typedef struct a{

    int a;

} A_S;

#endif

a.h定义了一个关于学生的一个结构体类型,然后我们需要在b.h中使用这个类型,但是b.h中不直接包含,内容如下:

/*file: b.h

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值