It sounds more like you're comparing C and C++ than comparing C programming with object oriented programming (which seem to me like apples and oranges).

>Derived classes indeed simplify things, but there is also a C alternative - include the other struct in the new struct.

Yes, so you'd be implementing an aspect of OO--just in an ugly way. So what's your point? Obviously you can use OOP concepts in C, but you say it doesn't provide an advantage.