Я всегда так делаю, мне кажется элегантным и легким.
Вы просто определяете массив как обычно, без фиксированного индекса.
Все, что вы должны убедиться, это добавить один 0 в конце.
Затем вы можете создать кратчайший вариант TEST и повторить его с помощью for или while.
Вот пример, он отображает список опций и соответствующий элемент справки (в этом случае массив справки должен быть не меньше длины опций.
const char *options[]={
"CAL_MAG_MIN",
"CAL_MAG_MAX",
0
};
const char *help[]={
"<X,Y,Z>",
"<X,Y,Z>",
0
};
int pos;
for (pos=0;options[pos];pos++)
{
printf("\t %s %s\n",options[pos],help[pos]);
}