条件编译#ifndef __HEAD_H 中,对下划线的理解
#ifndef __HEAD_H
#define __HEAD_H
… // 头文件内容
#endif
- 首先,使用该条件编译的目的是:防止该头文件重复引用。
比如,即使在主函数中写了两行#include “head.h”,该文件也只会被包含一次,如果头文件head.h中没有上面的条件编译,则会包含了2次,有可能会报错(是否报错要看具体的编译器,有些编译器不会报错)。
- __HEAD_H 仅仅是一个标识,只要符合C语言标识命名规则,可以写任意命名,为了易读性,一般都会与头文件名一致。
- 其中的前两个下划线没有任何语法上的意义,有些资料说是系统自带的头文件会使用两个下划线__,用户自己编写的头文件可以不用双下划线__,以表示与系统头文件的区别。
- 最后一个下划线表示头文件“HEAD.H”中的点,在C的语法中,“.”不能作为标识中的字符,所以用“_”标识“.”。
版权声明:本文为beizi原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。