#include <stdio.h>

#define countof(array) (sizeof(array) / sizeof((array)[0]))

typedef struct list_item {
    const char *title;
    int *data;
    size_t length;
} list_item;

static int itemdata1[] = { 1, 2, 3 };
static int itemdata2[] = { 1, 2 };
static int itemdata3[] = { 1 };

static list_item list[] = {
   { "foo", itemdata1, countof(itemdata1) },
   { "bar", itemdata2, countof(itemdata2) },
   { "baz", itemdata3, countof(itemdata3) },
};

int main(void)
{
    for (size_t i = 0; i < countof(list); i++) {
        printf("%zu: %s\n", i, list[i].title);
        for (size_t j = 0; j < list[i].length; j++) {
            printf("- %zu: %i\n", j, list[i].data[j]);
        }
    }
}
