C言語のマクロについてです。C言語のマクロには落とし穴が多いので、マクロをマスターして引っかからないようにしましょう。そしてC言語の達人になってください。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
/*
SWAP
変数内容入替
<概要>
指定2変数の内容を入れ替える。
<返却>
なし
<引数>
type:変数の型
a:変数1
b:変数2
<備考>
引数の複数回評価有。
*/
#define SWAP(type, a, b) \
do {type tmp = a; a = b; b = tmp;} while (0)
PR
/*
ELEMENT_NUM
配列要素数取得
<概要>
配列の要素数を取得する。
<返却>
配列の要素数
<引数>
array:配列名
<備考>
引数はポインタではない。
*/
#define ELEMENT_NUM(array) (sizeof(array) / sizeof((array)[0]))
/*
CALC_CLOCK
処理時間表示
<概要>
ソースコードとループ回数を指定すると
処理にかかったプロセッサ時間を表示する
<返却>
なし
<引数>
code:ソースコード
n:ループ回数
<備考>
使用例:CALC_CLOCK(x = cos(x), 1000000UL);
*/
#define CALC_CLOCK(code, n) do { \
int i; \
clock_t t = clock(); \
for (i=0;i<n;i++) { code; } \
printf("%d\n", clock() - t); \
} while (0)
ブログ内検索
最新記事
(03/31)
(03/31)
(03/30)
(03/30)
(03/30)
最古記事
(03/23)
(03/24)
(03/25)
(03/26)
(03/27)