标签:
由于对#ifndef的用法不太理解,在询问了老师#ifndef的含义以及查找资料后,对#ifndef总结了以下几点:
<1> #ifndef是宏定义的一种,是三种预处理功能(宏定义,文件包含和条件编译)中的其中一种:条件编译。
<2> 条件指示符#ifndef的作用和目的是:避免变量的重复定义,防止重复包含和编译同一个头文件。例如:有两个文件同时include了div.h这个文件,这两个文件其中一个先编译了,那么_DIV_H_已经被定义了,当编译第二个文件的时候,在#ifnef的时候就会自动跳出div.h这个文件的重复编译,避免了重复编译div.h文件。。
<3> 一般格式: #ifndef <标识>
#define <标识>
...do something...
#endif
注:1. 标识的命名规则一般是头文件名全大写,前面加下划线,并把文件名中的“.”也变成下划线,例如我们编写程序时用的stdio.h,写为下面的形式:
#ifndef _STDIO_H
#define _STDIO_H
...do something...
#endif
2. #ifndef 和 #endif 要同时使用,如果只有#ifndef,没有#endif,可能会报错。
标签:
原文地址:http://www.cnblogs.com/tujiangfeng/p/4442826.html