Как лучше запрограммировать наследование в Си?
Это решено уже лет 30 назад.
Посмотрите WinAPI.
вместо наследования имеет смысл применить макросы, ибо "наследование типов" для вашей задачи насколько я понял не нужно.