#ifndef #define #endif理解
在C或C++代码中经常可以看到这样的代码。往往初学人员会无法理解。其实这几段代码就是实现,防止头文件的重复定义。
#ifndef STDIO_H
//如果没有定义这个头文件
#define STDIO_H
//就定义这个头文件
……… // include or define sth.
#endif
//否则就忽略这个头文件的定义
其中_STDIO_H_被称为标识。
<标识>在理论上来说可以是自由命名的,但每个头文件的这个“标识”都应该是唯一的;标识的命名规则一般是头文件名全大写,前后加下划线,并把文件名中的“.”也变成下划线,
如:stdio.h对应的就是: #ifndef STDIO_H。
例如:在a. h文件中存在#include b. h的定义,在c. cpp中同时引用了#include a. h和#include b. h ,如果没有用#ifndef和#endif 对a. h进行处理,就会在编译的过程中出现头文件重复定义的错误。
#ifndef #define #endif理解
最新推荐文章于 2022-03-12 22:18:09 发布