Вложенные функции являются нестандартным расширением, реализованным GCC (и, возможно, другими, о которых я не знаю). Поскольку он не соответствует стандарту, лучшие практики, вероятно, включают , а не , используя его в коде, который вы собираетесь переносить.
Если ваша конечная цель - иметь «частные» функции в C, то вам лучше использовать отдельные файлы и делать «частные» функции статичными, чтобы они не были связаны с другими объектными файлами.