#define numberof(array) (sizeof(array)/sizeof((array)[0]))
みたいな、ありがち定型マクロとは違うし

↓のような
#define BEGIN {
#define END }
別言語を真似るようなマクロはやめれ というのは良く聞く話