对头文件中条件编译#ifndef __HEAD_H__ 的理解
对头文件中条件编译#ifndef __HEAD_H__ ... 的理解
#ifndef __HEAD_H__
#define __HEAD_H__
... // 头文件内容
#endif
- 首先,使用该条件编译的目的是:防止该头文件重复引用。
- __HEAD_H__ 仅仅是一个标识,只要符合C语言标识命名规则,可以写任意命名,为了易读性,一般都会与头文件名一致。
- 其中的前两个下划线与后两个下划线__没有任何语法上的意义,有些资料说是系统自带的头文件会前后各加两个下划线__,用户自己编写的头文件可以不用双下划线__,以表示与系统头文件的区别。
- 最后HEAD_H中的下划线_表示头文件“HEAD.H”中的点,在C的语法中,“.”不能作为标识中的字符,所以用“_”表示“.”。
多谢评论提示,使用#pragma once更方便;