C和C++的特点和区别

C和C++的特点和区别

(1)C语言特点:

1.作为一种面向过程的结构化语言,易于调试和维护;

2.表现能力和处理能力极强,可以直接访问内存的物理地址;

3.C语言实现了对硬件的编程操作,也适合于应用软件的开发;

4.C语言还具有效率高,可移植性强等特点。

(2)C++语言特点:

1.在C语言的基础上进行扩充和完善,使C++兼容了C语言的面向过程特点,又成为了一种面向对象的程序设计语言;

2.可以使用抽象数据类型进行基于对象的编程;

3.可以使用多继承、多态进行面向对象的编程;

4.可以担负起以模版为特征的泛型化编程。

(3)区别

1、文件区别:C源文件后缀 .c;C++源文件后缀 .cpp

2、返回值: C默认返回int型 ;C++ 若无返回值,必须指定为void

3、参数列表:C默认接收多个参数;C++默认为void,不接收任何参数

4、缺省参数:C不支持给函数参数指定默认值;C++支持

5、C++支持函数重载,C不支持

(而C++支持重载的依仗就在于C++的名字修饰与C不同,例如在C++中函数int fun(int ,int)经过名字修饰之后变为 _fun_int_int ,而C是_fun,一般是这样的,所以C++才会支持不同的参数调用不同的函数;)

6、C指针;C++多了引用

7、C是面向过程的,C++是面向对象的。

8、结构:C中的struct和C++的类,C++的类是C所没有的,但是C中的struct是可以在C++中正常使用的,并且C++对struct进行了进一步的扩展,C语言结构只有成员变量没有成员方法,C++结构有自己的成员变量和成员函数。使struct在C++中可以和class一样当做类使用,struct的成员默认访问修饰符是public,而class默认的是private;

9、动态管理内存:C是使用malloc/free函数,C++除此之外还有new/delete关键字

10、C++全部变量的默认链接属性是外链接,而C是内连接;

11、C中用const修饰的变量不可以用在定义数组时的大小,但是C++用const修饰的变量可以(如果不进行&,解引用的操作的话,是存放在符号表的,不开辟内存);

猜你喜欢

转载自blog.csdn.net/humeApz/article/details/81605977