X-lists provide a simple mechanism to enumerate tabular information in one place of the source code, without loosing flexibility.
#define FRUITS(X) \
/* name color */ \
X(orange, 0xff8000) \
X(green_apple, 0x00ff00) \
X(red_apple, 0xff0000) \