C语言 ——— 学习并使用 #if defined #ifdef #ifndef 条件编译指令

目录

学习 #if defined #ifdef #ifndef 条件编译指令

使用 #if defined 和 #ifdef 条件编译指令

使用 #ifndef 条件编译指令


学习 #if defined #ifdef #ifndef 条件编译指令

#if #ifndef 条件编译指令是用来判断某个符号是否被定义过,被定义过的话就为真,没有被定义过就为假

#if defined 代码模板演示:  

#if defined(symbol)
    // ……
#endif

#ifdef 代码模板演示:

#ifdef symbol
    // ……
#endif

#ifndef 代码模板演示:

#ifndef symbol
    // ……
#endif

使用 #if defined 和 #ifdef 条件编译指令

#if defined 代码演示( symbol 被定义过时):

#define WIN 0
int main()
{

#if defined(WIN)
	printf("have windows\n");
#endif

	return 0;
}

代码验证( symbol 被定义过时):

代码验证( symbol 未被定义过时):

#ifdef 代码演示( symbol 被定义过时):

#define WIN 0
int main()
{

#ifdef WIN
	printf("have windows\n");
#endif

	return 0;
}

代码验证( symbol 被定义过时):

代码验证( symbol 未被定义过时):

结论:

由此可见,#if defined 和 #ifdef 这两个条件编译指令的作用是一样的


使用 #ifndef 条件编译指令

代码演示( symbol 被定义过时):

#define WIN 0
int main()
{

#ifndef WIN
	printf("have windows\n");
#endif

	return 0;
}

代码验证( symbol 被定义过时):

代码验证( symbol 未被定义过时):

结论:

由此可见,#ifndef 条件编译指令 和 #ifdef 条件编译指令的作用刚好相反

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值