忍者ブログ
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)
HOMENext ≫
ブログ内検索
バーコード
アーカイブ

Copyright © [ C言語のマクロ ] All rights reserved.
Special Template : 忍者ブログ de テンプレート
Special Thanks : 忍者ブログ
Commercial message : [PR]