Это ссылка на решение размещена на: Looping a fixed size array without defining its size in CЗацикливание статически выделенного массива, вне режима c99?
Вот мой пример кода:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
static const char *foo[] = {
"this is a test",
"hello world",
"goodbye world",
"123",
NULL
};
for (char *it = foo[0]; it != NULL; it++) {
printf ("str %s\n", it);
}
return 0;
}
Попытка собрать это дает:
gcc -o vararray vararray.c
vararray.c: In function ‘main’:
vararray.c:14: warning: initialization discards qualifiers from pointer target type
vararray.c:14: error: ‘for’ loop initial declaration used outside C99 mode
Уточнить: Режим C99 «запрещено», и вам нужно обходным - ИЛИ - вы открыты для используя режим C99? – Roboprog