1、用于注释掉一段代码
#include
#define CONFIG_DEBUG int main(){ FILE *fp; fp=fopen("D:\\DEV\\test.txt","r"); if(NULL==fp){ printf("error!"); } #ifdef CONFIG_DEBUG printf("open test.txt ok"); #endif return 0; }
2、防止头文件重复包含
a.h
#include
#include "b.h"
b.h
#include "a.h"
c.c
#include "a.h" #include "b.h" int main(){ printf("Hello!"); }
如果你程序是这样写的话,编译器就会出现Error #include nested too deeply的错误。
因为这里 b.h 和 a.h 都互相包含,c.c文件在include的时候重复include了a.h,我们希望c.c文件中执行#include "b.h"的时候 b.h 能进行判断,如果没有#include "a.h"则include,如果已经include了,则不再重复定义。
可以将b.h修改为:
#ifndef _A_H #define _A_H #include "a.h" #endif
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/227029.html原文链接:https://javaforall.net
