您的位置:首页 > 编程语言 > C语言/C++

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

2016-04-07 16:59 387 查看

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】
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: