Вы можете сделать следующее.Проверка ошибок для краткости опущена
char** ReturnStringArray() {
char** pArray = (char**)malloc(sizeof(char*)*SIZE);
int i = 0;
for ( i = 0; i < SIZE; i++ ) {
pArray[i] = strdup("a string");
}
return pArray;
}
Обратите внимание, что вам необходимо соответственно освободить возвращенную память.
Кроме того, в вызове printf вы, вероятно, захотите включить \n
в строку, чтобы гарантировать очистку буфера.В противном случае строки будут поставлены в очередь и не будут немедленно выведены на консоль.
char** str = ReturnStringArray();
for(i=0 ; i<SIZE ; i++)
{
printf("%s\n", str[i]);
}