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

来源:互联网 发布:php 接口文档管理系统 编辑:程序博客网 时间:2024/05/21 06:43

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】

0 0
原创粉丝点击