C++#ifndef与#ifdef的区别是什么?

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

一、使用场景不同:

#ifndef使用场景为:

1、头文件中使用,防止头文件被多重调用。

2、作为测试使用,省去注释代码的麻烦。

3、作为不同角色或者场景的判断使用。

#ifdef使用场景:

判断某个宏是否被定义,若已定义,执行随后的语句。

二、含义不同:

#ifndef表示ifnotdefine。

#ifdef表示ifdefine。

 扩展资料:

#ifndef起到的效果是防止一个源文件两次包含同一个头文件,而不是防止两个源文件包含同一个头文件。

而编译时,这两个C文件要一同编译成一个可运行文件。

把头文件的内容都放在#ifndef和#endif中。不管头文件会不会被多个文件引用,都要加上这个。

一般格式是这样的:

#ifndef <标识>

#define <标识>.

...........

#endif<标识>

在理论上来说可以是自由命名的,但每个头文件的这个“标识”都应该是唯一的。

标识的命名规则一般是头文件名全大写,前后加下划线,并把文件名中的“.”也变成下划线,如:

#ifndef_STDIO_H_#define_STDIO_H_......#endif.

在#ifndef中定义变量出现的问题(一般不定义在#ifndef中)。

#ifndefAAA#defineAAA...inti;...#endif

参考资料:

百度百科-C语言

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式