原文:do {...} while (0) 在宏定義中的作用

如果你是一名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 ...

Tue Jan 16 01:43:00 CST 2018 0 1418
C語言中定義(#define)時do{}while(0)的價值

最近在新公司的代碼中發現到處用到do{...}while(0),google了一下,發現Stack Overflow上早有很多討論,總結了一下討論,加上自己的理解,do{...}while(0)的價值主要體現在: 1. 增加代碼的適應性 下面的定義沒有使用do{...}while ...

Tue Dec 29 01:00:00 CST 2015 2 6324
do while(0)的作用

閱讀Mitsuba的代碼的時候,發現了一個有意思的地方: 定義了一個Log的函數,使用了do{...} while(0)的語法,這里的while的條件是常量0,上面的代碼永遠只執行一遍。 感覺是多此一舉,做法令人費解。上stack overflow查了下資料。說法 ...

Wed Jun 03 00:03:00 CST 2015 1 4206
javawhile循環和do while循環

上一章我們已經學習完了選擇結構 接下來就是程序應用到的循環了 那么在講解循環之前呢我們先來了解一下什么是循環 生活的例子 車子的輪胎他就是一直在循環 馬拉松跑到也是在循環 因為運動員不停的一圈一圈在跑這也是一個循環 那么我們為什么要學習循環呢? 下面看一個小問題 ...

Fri Mar 30 18:16:00 CST 2018 0 12484
Javawhiledo-while

·while循環語法結構: 示例:1到100的累加 ·do-while循環語法結構: do-while循環結構會先執行循環體,然后再判斷表達式的值,若條件為真,執行循環體,當條件為假時結束循環。do-while循環的循環體至少執行一次 ...

Thu Feb 14 04:06:00 CST 2019 0 1608
javawhile循環和do while循環

那么在講解循環之前呢我們先來了解一下什么是循環 生活的例子 車子的輪胎他就是一直在循環 馬拉松跑到也是在循環 因為運動員不停的一圈一圈在跑這也是一個循環 那么我們為什么要學習循環呢? 下面看一個小問題 張浩Java考試成績未達到自己的目標。為了表明自己勤奮學習的決心,他決定在程序寫 ...

Mon May 15 22:52:00 CST 2017 0 123247
javaswitch、whiledo...while、for

一、Java條件語句之 switch 當需要對選項進行等值判斷時,使用 switch 語句更加簡潔明了。例如:根據考試的名次,給予前 4 名不同的獎品。第一名,獎勵筆記本一台;第二名,獎勵 I ...

Thu Dec 08 01:41:00 CST 2016 0 4386
利用定義的##實現函數模板的作用

利用定義的##完成函數模板的定義與調用 定義代碼段 調用定義不同的函數,以下代碼實際定義了12個返回類型、函數名、函數內部變量類型不同的函數 定義的#與##的含義 在定義#是“字符串化”的意思。出現在定義的#是把跟在后面的參數轉換成一個字符串。 其作用是:將 ...

Wed Jul 06 00:21:00 CST 2016 0 2118
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM