Because there is not such thing in C. Inheritance is OOP thingy in C++. Well, you could simulate inheritance in C with structures and function pointer, but it will get ugly very fast (for example look in these files:
https://github.com/tracy/AtomixMi....2.4/Source/Core/AtxStreams.h#L32 and
https://github.com/tracy/AtomixMi...e/System/Win32/AtxWin32File.c#L36 where Win32FileStream inherits from other "classes").
But if you are actually asking why not use C++ and inheritance, then to that Casey has answered multiple times why he doesn't like C++. Using inheritance would require to deal with constructors, destructors, "new" operator for memory allocation (or object placement) and all the other C++ stuff...