C言語のマクロについてです。C言語のマクロには落とし穴が多いので、マクロをマスターして引っかからないようにしましょう。そしてC言語の達人になってください。			
		×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
/*
	ELEMENT_NUM
	配列要素数取得
	<概要>
	配列の要素数を取得する。
	<返却>
	配列の要素数
	<引数>
	array:配列名
	<備考>
	引数はポインタではない。
*/
#define ELEMENT_NUM(array) (sizeof(array) / sizeof((array)[0]))
PR
					/*
	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)
					/*
	MAX3
	最大値取得
	<概要>
	指定された3引数のうちの最大のものを返す
	<返却>
	最大値
	<引数>
	a,b,c:最大値を選ぶ対象
	<備考>
	引数の複数回評価有。
*/
#define MAX2(a, b) ((a) > (b) ? (a) : (b))
#define MAX3(a, b, c) ((a) > (MAX2(b, c)) ? (a) : (MAX2(b, c)))
					
					ブログ内検索				
				
					最新記事				
				(03/31)
(03/31)
(03/30)
(03/30)
(03/30)
				
					最古記事				
				(03/23)
(03/24)
(03/25)
(03/26)
(03/27)