Это работает
LLIST *mylist[10] = {NULL};
Но если бы я хотел сделать это, я получил бы ошибки:
int x=10; LLIST *mylist[x] = {NULL};
x может быть любым значением, которое я сейчас устанавливаю на 10. x будет использоваться в качестве счетчика.
x
Поддержка массивов переменной длины (которые использует ваш второй пример) появилась в стандарте C99, который может не поддерживаться вашим компилятором.
Для gcc вы должны указать опцию -std=c99 при компиляции.
-std=c99