c和c++区别
C和C++区别为:
一、结构不同
1、C语言:C语言结构只有成员变量,而没成员方法。
2、C++:C++结构中可以有自己的成员变量和成员函数。
二、设计不同
1、C语言:C语言进行过程化、抽象化的通用程序设计。
2、C++:C++既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。
三、函数库不同
1、C语言:C语言有标准的函数库,它们松散的,只是把功能相同的函数放在一个头文件中。
2、C++:C++对于大多数的函数都是有集成的很紧密,是一个集体。
C语言用途:
(1)应用软件。Linux操作系统中的应用软件都是使用C语言编写的,因此这样的应用软件安全性非常高。
(2)对性能要求严格的领域。一般对性能有严格要求的地方都是用C语言编写的,比如网络程序的底层和网络服务器端底层、地图查询等。
(3)系统软件和图形处理。C语言具有很强的绘图能力和可移植性,并且具备很强的数据处理能力,可以用来编写系统软件、制作动画、绘制二维图形和三维图形等。
(4)数字计算。相对于其他编程语言,C语言是数字计算能力超强的高级语言。
(5)嵌入式设备开发。手机、PDA等时尚消费类电子产品相信大家都不陌生,其内部的应用软件、游戏等很多都是采用C语言进行嵌入式开发的。
(6)游戏软件开发。游戏大家更不陌生,很多人就是由玩游戏而熟悉了计算机。利用C语言可以开发很多游戏,比如推箱子、贪吃蛇等。
1、面向对象不同
C语言是面向过程语言,而C++是面向对象语言。
面向过程编程就是分析出解决问题的步骤,然后把这些步骤一步一步实现,使用的时候一个一个地一次调用。
面向对象编程就是把问题分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在整个解决问题的步骤中的行为。
2、关键字不同
C语言和C++有不同的关键字。常用的C语言是C89标准,有32个关键字。C++是C++99标准的,有63个关键字。一些关键字也有细微的区别。比如struct,在C语言中struct定义的变量中不能有函数,而在C++中可以有函数。
3、返回值不同
在C中,如果一个函数没有指定返回值类型,则默认为int型。
而在C++中,如果一个函数没有返回值则必须指定为void。
4、参数列表不同
在C中,如果一个函数没有指定参数列表,则默认可以接收任意多个参数。
而在C++中,因为严格的参数类型检测,没有参数列表的函数,默认为void,不接收任何参数。
5、函数重载不同
函数重载是函数的一种特殊情况,指在同一作用域中,声明几个功能类似的同名函数,这些同名函数的形参列表必须不同,常用来处理实现功能类似数据类型不同的问题。
C语言没有函数重载而C++支持函数重载。