#include <stdio.h>

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

static const char list1[][128] =
{
    "file1", "file2", "file3",
};

static const char *list2[] =
{
    "file1", "file2", "file3",
};

static void test1(const char (*list)[128], size_t num)
{
    for (size_t i = 0; i < num; i++)
        printf("\t%zu: %s\n", i, list[i]);
}

static void test2(const char **list, size_t num)
{
    for (size_t i = 0; i < num; i++)
        printf("\t%zu: %s\n", i, list[i]);
}

int main(void) {
    puts("Variant 1:");
    test1(list1, countof(list1));
    puts("Variant 2:");
    test2(list2, countof(list2));
}
