Вам нужен указатель, чтобы вы могли сохранить изменяющийся адрес.Если бы у вас было только retbuf
, вам нужно было бы спроектировать функцию для использования изменяющейся индексной переменной.Например:
int ind = sizeof(retbuf)-1;
retbuf[ind] = '\0';
и т. Д.
Обратите внимание, что массивы не являются указателями.Массив - это область памяти фиксированного размера.Указатель - это адрес.