C语言并不是不可以面向对象,但是它不像C++或Java那样原生支持面向对象编程。
在C语言中,可以使用结构体(struct)和函数指针来实现一些面向对象的特性,例如封装(encapsulation)和多态(polymorphism)。但是这种方式需要手动管理内存,并且缺乏一些更为高级的面向对象特性,例如继承(inheritance)和虚函数(virtual function)。
另外,C语言的编译器也需要支持一些额外的特性来支持面向对象编程。例如,需要支持函数重载(function overloading)和模板(template)等特性。
因此,虽然C语言可以通过一些技巧实现面向对象编程,但是它并不是为了面向对象编程而设计的,相比之下,像C++和Java这样的语言则更加原生支持面向对象编程。
C语言是面向过程的结构化程序设计语言,本身不支持面向对象编程。你可以学vc,vc++之类的