我的C语言笔记之经典代码(一)

1 综述

在实际工作学习中,经常会看到比较经典或实用的代码,记在本子上或word文档总会不太方便查阅,因此单独开一片文章来记录。

2 宏定义之大括号

在使用CC254x的时候我发现了如下代码:

#define st(x)      do { x } while (__LINE__ == -1)
该宏定义的作用相当于一个大括号,将其中x代表的所有代码包括在一起,__LINE__是IAR内部宏定义,表示当前的行号,因为行号不可能等于-1,因此这个do while只会执行一次,目的就是包含x表示的所有代码。(疑问:__LINE__是如何定义的?怎么找不到?)【END/2016-04-07】

3 常用宏定义

3.1 移位

//Macros
#ifndef BV
#define BV(n)      (1 << (n))
#endif
通过这个宏定义可以方便的将某一位变成0或1。

某位置0:P1_0 &= ~BV(1);
某位置1:P1_0 |= BV(1);

【END/2016-04-12】

3.2 获得最值

#ifndef MIN
#define MIN(n,m)   (((n) < (m)) ? (n) : (m))
#endif

#ifndef MAX
#define MAX(n,m)   (((n) < (m)) ? (m) : (n))
#endif
【END/2016-04-12】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值