C言語のマクロで面白そうなものをメモ!
#include
#define _PFP(str) printf("%s\n", str)
#define ASIZEOF(array) (sizeof(array) / sizeof(array[0]))
#define FOR(i, j) for(((i) = 0); ((i) < (j)); ((i)++))
#define ISR(str) str, #str
enum etest{ aaa, bbb, ccc };
typedef struct _stest
{
enum etest yyy;
char *name;
}stest;
int main()
{
int i;
stest ts[] = { ISR(aaa), ISR(bbb), ISR(ccc) };
FOR(i, ASIZEOF(ts))
_PFP(ts[i].name);
}
enumとマクロの組み合わせ
for文
配列の要素数を求める
の3つが特に面白いとおもう。
積極的にマクロを使うのもいいかなーっ
ただ、マクロが嫌いな人もいると思うので、使っていいのか悩みどころ。。