#define后面只有一个标识符是什么意思?

来源:百度知道 编辑:UC知道 时间:2024/09/28 13:53:55
例如
#ifndef __CONFIG_H
#define __CONFIG_H

#define的后面只有一个标识符,而没有被替换的数,谁能解释一下这是什么意思,拜托各位大侠了!!!

你说的是.h里的文件吧。在最后面应该还有个
#ENDIF
是为了避免.h文件被重定义而写的

比如A.C包含了B.H和C.H,B.H又包含了C.H
当编译A.C的时候就会重复编译C.H了。
当C.H前写上
#ifndef __CONFIG_H
#define __CONFIG_H

#ifndef __CONFIG_H 这句话就不能通过。因为以前就define过了。就避免了重定义

OK?

这个多数用在C语言的排他定义中。

最常见的用法是进行整个公用头文件的完全封装,以避免出现嵌套引用,重复定义的情况。

一般的用法如下:
#ifndef __CONFIG_H
#define __CONFIG_H

头文件的文件体

#endif

用#ifndef,防止重复定义

仅仅是一个宏定义。