C语言中的空宏定义

看源代码中有如下宏定义:

#define TYPEDEF

与平常的宏定义有点不一样,于是查了下这种宏有什么用,总结如下:

1、做标记,进行条件编译。

等价于“#define __TYPE_DEFINE__ do {} while (0)”

#include<stdio.h>
#define __TYPE_DEFINE__

int main()
{   
    #ifdef __TYPE_DEFINE__
    printf("1.With Macro TYPE DEFINE\n");
    #else
    printf("2.Without Macro TYPE DEFINE\n");
    #endif
    return 0;
}

上面代码输出:

1.With Macro TYPE DEFINE

如果注释掉“#define __TYPE_DEFINE__”,则输出变成:

2.Without Macro TYPE DEFINE

2、做注释用,帮助理解

#include<stdio.h>
#define HUMAN

int HUMAN liming(int height) //liming is human
{
    printf("%d\n",height);
}

int main()
{   
    liming(180);
    return 0;
}

3、占位符,用于不同平台移植

linux环境开发的代码,可以定义部分Win32相关的空宏,方便移植。

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值