C语言是 1970 年代初由 Dennis Ritchie 为 UNIX 操作系统开发的。它是一种通用的过程编程语言。该语言用于开发系统应用程序以及桌面应用程序。

Objective C 由 Brad Cox 和 Tom Love 在 1980 年代早期开发。它是一种面向对象的通用语言,旨在为 C 编程语言提供闲聊风格的消息传递。这种语言允许用户通过声明类来定义协议,并且可以将数据成员设为公共、私有和受保护的。这种语言在 Apple 用于 iOS 和 OS X 操作系统。Swift 语言于 2014 年在 Apple 开发,以取代这种语言。但是仍然有很多公司在维护他们用 Objective C 编写的遗留应用程序。

C语言和Objective C的主要区别在于C是一种过程编程语言,不支持对象和类的概念,而Objective C是面向对象的语言,它包含过程和面向对象的编程语言的概念。

C 和 Objective C 的区别:

C语言 Objective C
C语言是一种面向过程的编程语言。问题一步步得到解决。 Objective c 是一种面向对象的编程语言。它添加了允许面向对象语言的语法和语义。但它不支持多重继承属性。
C语言可以称为Objective C的子集Objective C可以称为C语言的超集。 除了 C 语言之外,Objective C还包含类和对象。
C语言中使用的指针容易受到安全攻击。 Objective C使用空指针,因此与 C 相比是类型安全的。
C语言基本上是一种低级语言,过于接近汇编级语言。 Objective C 是一种高级语言,与 C 一起填充了闲聊消息风格。
C语言不包含任何类。Bjarne Stroustrup 开发 C++ 语言的主要目的是在 C 语言中添加类等面向对象的特性。 Objective C 是面向对象的语言,包含类并提供动态运行时。
C语言遵循自上而下的编程方法。 Objective C遵循自下而上的编程方法。
在C语言中,大程序代码被分成称为函数的小段代码。 在Objective C中,大程序代码被分成更小的代码,称为对象和类。
C语言只支持指针。 Objective C支持指针和引用。
C语言变量应该在程序的开头声明。 在Objective C中,变量可以在程序的任何地方声明。
C语言不支持异常处理。 Objective C 支持异常处理,可以使用 catch 和 try 块来实现。
C语言不允许使用默认参数定义函数。 Objective C允许使用默认参数定义函数。
C语言不能运行Objective C的代码。 Objective C可以运行C语言的代码。
C语言为动态内存分配提供了 malloc()calloc() 函数,并为内存释放提供了 free() 函数。 Objective C 为内存分配提供了 new 运算符,为内存释放提供了 delete 运算符。
数据在C语言中不受保护。 使用封装的概念,可以在 Objective C 中实现安全性。
C语言没有提供内联功能。 Objective C支持内联函数。
C语言不支持函数和运算符重载。 Objective C 支持函数和运算符重载。
一般来说,C语言被称为函数驱动语言。 Objective C被称为对象驱动语言。
C语言不支持封装、数据隐藏、继承、多态和抽象。 封装、数据隐藏、继承、多态和抽象是 Objective C 的关键特性。
C语言不支持模板。 Objective C 支持模板。
C语言适用于嵌入式服务。 Objective C适用于网络,游戏等。