Ist C objektorientiert?
Nein.
Es hindert Dich allerdings niemanden, in einem ähnlichen Paradigma zu arbeiten, das musst Du dann allerdings von Hand tun.
Ein gutes Beispiel, wo das umgesetzt wurde, ist Bison (die Gnu-Version von yacc). Hier bekommt mehr oder weniger jede Methode einen Struktur-Pointer übergeben analog zum (versteckten) "this" in C++, und alle Methoden einer Source-Datei beziehen sich brav immer auf die eine Struktur, die in dieser Source-Datei behandelt wird. 1 zu 1 umsetzbar in C++-Klassen.
(Disclaimer: ich habe mich das letzte mal 1993 mit Bison beschäftigt. Damals war es noch ein reines C-Projekt, inzwischen sagt Wikipedia, es sei ein C/C++-Projekt. Habe nicht in die aktuellen Sourcen geschaut, ob das noch so ist. Ansonsten: gehe zurück zu den alten Versionen, dann gilt meine Aussage ;-) …)