c语言中 #ifdef ...... 和#endif 配套使用的方法 ?

 我来答
惠企百科
2022-12-11 · 百度认证:北京惠企网络技术有限公司官方账号
惠企百科
惠企百科网是一家科普类综合网站,关注热门中文知识,集聚互联网精华中文知识,本着自由开放、分享价值的基本原则,向广大网友提供专业的中文知识平台。
向TA提问
展开全部

使用方法:

比如头文件名为keyboard.h。通用的使用方法如下:

#ifndef _KEYBOARD_H

#define _KEYBOARD_H

??

#endif

通过这种方法,当第一次使用这个头文件的c文件,编译时,查看是否定义_KEYBOARD_H

第一次肯定没有,所以它就定义了头文件里面的相关宏以及变量。

第二个使用这个头文件的C文件,编译时,一看_KEYBOARD_H已经存在,说明需要使用的东西使用存在,不需要定义了,直接使用就可以了。

扩展资料:

#ifdef语句1

//程序2

#endif

作用:我们可以用它区隔一些与特定头文件、程序库和其他文件版本有关的代码。

代码举例:新建define.cpp文件

#include<iostream>

using namespace std;

int main(int argc,char*argv[])

{

#ifdef DEBUG

cout<<"Beginning execution of main()"<<endl;

#endif

return 0;

}

运行结果为:

1

Press any key to continue

改写代码如下:

#include<iostream>

using namespace std;

#define DEBUG

int main(int argc,char*argv[])

{

#ifdef DEBUG

cout<<"Beginning execution of main()"<<endl;

#endif

return 0;

}

运行结果为:

Beginning execution of main()

Press any key to continue

更一般的情况是,#define语句是包含在一个特定的头文件中。

比如,新建头文件head.h,在文件中加入代码:

#define DEBUG

#ifdef DEBUG

#endif

而在define.cpp源文件中,代码修改如下:

#include<iostream>

#include"head.h"

using namespace std;

int main(int argc,char*argv[])

{

#ifdef DEBUG

cout<<"Beginning execution of main()"<<endl;

#endif

return 0;

}

运行结果如下:

Beginning execution of main()

Press any key to continue

结论:

通过使用#ifdef指示符,我们可以区隔一些与特定头文件、程序库和其他文件版本有关的代码。

参考资料:

百度百科——#ifdef

百度百科——#endif

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式