单井号:将后面的 宏参数 进行字符串操作,即 将后面的参数用双引号引起来 双井号:就是用于连接 #include <stdio.h> #define COMMAND(NAME) {#NAME,NAME##_command} #define PRINT(NAME) printf ...
如果你是一名C程序员,你肯定很熟悉宏,它们非常强大,如果正确使用可以让你的工作事半功倍。然而,如果你在定义宏时很随意没有认真检查,那么它们可能使你发狂,浪费N多时间。在很多的C程序中,你可能会看到许多看起来不是那么直接的较特殊的宏定义。下面就是一个例子: define set task state tsk, state value do tsk gt state state value while ...
2014-01-28 14:00 12 30560 推荐指数:
单井号:将后面的 宏参数 进行字符串操作,即 将后面的参数用双引号引起来 双井号:就是用于连接 #include <stdio.h> #define COMMAND(NAME) {#NAME,NAME##_command} #define PRINT(NAME) printf ...
最近在新公司的代码中发现到处用到do{...}while(0),google了一下,发现Stack Overflow上早有很多讨论,总结了一下讨论,加上自己的理解,do{...}while(0)的价值主要体现在: 1. 增加代码的适应性 下面的宏定义没有使用do{...}while ...
阅读Mitsuba的代码的时候,发现了一个有意思的地方: 定义了一个Log的宏函数,使用了do{...} while(0)的语法,这里的while中的条件是常量0,上面的代码永远只执行一遍。 感觉是多此一举,做法令人费解。上stack overflow查了下资料。说法 ...
上一章我们已经学习完了选择结构 接下来就是程序中应用到的循环了 那么在讲解循环之前呢我们先来了解一下什么是循环 生活中的例子 车子的轮胎他就是一直在循环 马拉松跑到也是在循环 因为运动员不停的一圈一圈在跑这也是一个循环 那么我们为什么要学习循环呢? 下面看一个小问题 ...
·while循环语法结构: 示例:1到100的累加 ·do-while循环语法结构: do-while循环结构会先执行循环体,然后再判断表达式的值,若条件为真,执行循环体,当条件为假时结束循环。do-while循环的循环体至少执行一次 ...
那么在讲解循环之前呢我们先来了解一下什么是循环 生活中的例子 车子的轮胎他就是一直在循环 马拉松跑到也是在循环 因为运动员不停的一圈一圈在跑这也是一个循环 那么我们为什么要学习循环呢? 下面看一个小问题 张浩Java考试成绩未达到自己的目标。为了表明自己勤奋学习的决心,他决定在程序中写 ...
一、Java条件语句之 switch 当需要对选项进行等值判断时,使用 switch 语句更加简洁明了。例如:根据考试的名次,给予前 4 名不同的奖品。第一名,奖励笔记本一台;第二名,奖励 I ...
利用宏定义的##完成函数模板的定义与调用 宏定义代码段 调用宏定义不同的函数,以下代码实际定义了12个返回类型、函数名、函数内部变量类型不同的函数 宏定义中的#与##的含义 在宏定义中#是“字符串化”的意思。出现在宏定义中的#是把跟在后面的参数转换成一个字符串。 其作用是:将宏 ...