QUOTE (ViKo @ Apr 8 2016, 11:00)

По-моему, в С так же можно использовать структуры, как и в С++.
Покажите, как сделать такое:
CODE
struct config_t
{
struct module_a_t
{
....
};
struct module_b_t
{
....
};
module_a_t A;
module_b_t B;
} Config;
Как это делается в Сях я показал, там больше писанины и нет сокрытия имен.
QUOTE (ViKo @ Apr 8 2016, 11:00)

Из приведенных выше примеров привлекает полиморфизм.
В приведенных выше примерах полиморфизма не было. Полиморфизм - это уже объектно-ориентированное программирование.
QUOTE (ViKo @ Apr 8 2016, 11:00)

А до классов надо еще дорасти. У меня сотни функций, в какие объекты их пихать?
Пихайте куда угодно (сколько информации в вопросе - столько и в ответе).
Ваши функции не используют данные? Если используют - имеет смысл их логически объединить. функция + данные - это уже класс. а если несколько функций используют некоторую общую часть данных - напрашивается структура классов, где базовый работает с общей частью данных, а наследники - с общими данными через базовый класс и со своими личными данными - каждый по-своему.
P.S. Если кто-то смотрел исходник openOCD - там полиморфизм реализован на чистых Сях. Это тихий ужас и закат солнца вручную.