C语言中ifdef,ifndef和endif的作用

C语言中ifdef,ifndef和endif的作用1 用于注释掉一段代码我们自己编写程序的时候 需要看到一系列的调试代码 但是发给客户的时候 客户可不希望看到什么什么 OK 的代码 所以我们希望能很容易地注释掉这段代码 这时需要用到预处理指令 ifdef 和 endif include lt stdio h gt defineCONFIG DEBUGintmain FILE fp fp fo

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

(0)
上一篇 2026年3月16日 下午10:06
下一篇 2026年3月16日 下午10:06


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号