Если ваш друг не говорил об Objective C (расширенный набор O для C), то нет, C не является языком OO.Вы можете реализовать концепции OO, используя C (это то, что делал старый компилятор Cfront C ++, он переводил C ++ в C), но это не делает C языком OO, так как он не обеспечивает поддержку стандартных методов OO, таких как полиморфизм или инкапсуляция.
Да, вы можете написать программный ОО-стиль на С, особенно с либеральным (не-) использованием макросов, но как человек, который видел результаты некоторых из этих попыток, я настоятельно рекомендую использовать более качественныеподходящий язык.