• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

转:C语言中 #和##的运用

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
#include <stdlib.h>
//在#define中,标准只定义了#和##两种操作。
//#用来把参数转换成字符串,
//##则用来连接两个前后两个参数,把它们变成一个字符串。
//如果#或##后的参数本身也是一个宏的话,#或##会阻止这个宏的展开
// 在C语言中字符串中的二个相连的双引号会被自动忽略
#define parser(n) printf("token"#n"=%d\n",token##n)
int main()
{
int token9=10;
parser(9);
return 0;
}
//output:
//token9=10

 

#define INIT_LED1()      do { LED1 = LED_OFF; IO_DIR_PORT_PIN(1, 0, IO_OUT); P1SEL &= ~0x01;} while (0)
#define IO_DIR_PORT_PIN(port, pin, dir) \
do { \
if (dir == IO_OUT) \
P##port##DIR |= BM( pin ); \
else \
P##port##DIR &= ~BM( pin ); \
}while(0)
#define BM( b ) ( 0x01 << ( b ))




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
c++中字符串反转的3种方法发布时间:2022-07-13
下一篇:
C++中的构造函数与析构函数发布时间:2022-07-13
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap