Цитата(AnatolyT @ Jun 8 2017, 22:56)

Не стоит рассчитывать на сохранность локальных переменных вне функции. Поступаю следующим образом, определяю область памяти с помощью malloc() и передаю указатель в функцию, которая в свою очередь тоже может передать и возвратить его, после возврата указателя освобождаю область с помощью free().
Вместо динамически - локальной, для этой цели можно использовать
static, и спокойно возвращать указатель.
Если, конечно, позволяет объем памяти.