#include <stdio.h>
#define NUMELEM(a) (sizeof(a)/sizeof(a[0]))
const char cm0[] = "ADD";
const char cm1[] = "DELETE";
const char cm2[] = "LIST";
const char cm3[] = "REPLACE";
const char *level0[] = {cm2, NULL};
const char *level1[] = {cm0, cm2, cm3, NULL};
const char *level2[] = {cm0, cm1, cm2, cm3, NULL};
const char **mode[] = {level0, level1, level2};
main()
{
int i, j;
for (i = 0; i < NUMELEM(mode); ++i) {
printf("\nLevel %d commands: ", i);
for (j = 0; mode[i][j] != NULL; ++j)
printf(" %s", mode[i][j]);
putchar('\n' );
}
}
Output:
Level 0 commands: LIST
Level 1 commands: ADD LIST REPLACE
Level 2 commands: ADD DELETE LIST REPLACE