Если я понимаю ваш вопрос, вы используете инициализатор в вызове функции, который возвращает тип char*
.В этом случае нет проблем с использованием статического класса хранения.result
сохранит свое значение (адрес памяти, который вы выделили) на протяжении всей жизни вашей программы.
Однако в этом случае malloc не будет вызываться несколько раз.Только в первый раз через вашу функцию.Кроме того, память все еще выделяется в куче, поэтому вам все равно нужно освободить ее, когда вы закончите.Однако это освобождение будет выполняться при выходе из вашей программы (), поэтому его можно игнорировать.