C 语言和 C++ 有什么区别


本文摘自PHP中文网,作者Guanhui,侵删。

C 语言和 C++ 有什么区别

1、C语言是面向过程的,而C++是面向对象的;

2、C语言的标准的函数库很松散,而C++对于大多数的函数都是集成的很紧密;

3、C语言中结构只有成员变量,而在C++中结构中,可以有成员变量和成员函数。

语法上的区别

struct

在C语言中,试用定义的struct类型的变量方式:struct [定义的变量] [生成的变量];在C++语言中,试用定义的struct类型的变量方式:struct [定义的变量] [生成的变量]或者[定义的变量] [生成的变量]。

在C语言中struct定义的变量中不能有函数,而在C++中可以有函数。

函数的参数以及返回值(以test()为例)

C语言中,表示参数可有可无,返回值为int;C++中表示无参函数,由于无返回值导致语法错误,但是当无返回值的函数为构造函数的时候例外。

malloc

malloc函数的返回值为void*,在C语言中可以赋值给任意类型的指针,在C++中必须进行强制类型装换,否则报错。

malloc、free和new、delete

malloc、free在C和C++中均可使用,但是在C++中更多的是使用 new、delete。malloc、free是函数,而new、delete是操作符,两组堆内存的操作不能混用。

struct和class

class是对struct的扩展,struct默认的访问权限是public,而class默认的访问权限是private。


推荐教程:《C#》

以上就是C 语言和 C++ 有什么区别的详细内容!

相关阅读 >>

c++隐式类型转换是什么?

c++类型转换

c语言中&是什么意思?

c++学习基础知识--this指针、静态成员、常量成员函数

c++数组初始化的种类有哪些

c++万能头文件是什么?

c++如何设置全局变量

c/c++函数如何返回多个值?(代码示例)

c中printf、sprintf和fprintf的区别(代码示例)

c语言中printf,sprintf和fprintf的区别是什么

更多相关阅读请进入《c》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...