C语言与C的区别.docx

上传人:b****6 文档编号:13774346 上传时间:2023-06-17 格式:DOCX 页数:10 大小:23.34KB
下载 相关 举报
C语言与C的区别.docx_第1页
第1页 / 共10页
C语言与C的区别.docx_第2页
第2页 / 共10页
C语言与C的区别.docx_第3页
第3页 / 共10页
C语言与C的区别.docx_第4页
第4页 / 共10页
C语言与C的区别.docx_第5页
第5页 / 共10页
C语言与C的区别.docx_第6页
第6页 / 共10页
C语言与C的区别.docx_第7页
第7页 / 共10页
C语言与C的区别.docx_第8页
第8页 / 共10页
C语言与C的区别.docx_第9页
第9页 / 共10页
C语言与C的区别.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C语言与C的区别.docx

《C语言与C的区别.docx》由会员分享,可在线阅读,更多相关《C语言与C的区别.docx(10页珍藏版)》请在冰点文库上搜索。

C语言与C的区别.docx

C语言与C的区别

C++几乎完全兼容了C,但增加的特性差不多比整个C语言还多。

C是一种简单的语言。

它真正提供的只有有宏、指针、结构、数组和函数;而C++还有私有和保护型成员、函数重载、缺省参数、构造和析构函数、自定义操作符、内联函数、引用、友元、模板、异常、名字空间,等等。

用C++比用C具有更宽广的空间,因为设计时有更多的选择可以考虑。

此外,C++从安全性上远比C好,因为类型检查更严格。

C只是C++的一个子集,C++是C语言发展的一个优秀的旁支。

C是面向过程的语言。

C++是在C基础发展起来的面向对象的语言,他几乎集成了所有的C的东西。

(当然也剔除了很多C的缺陷,这个就要在长期学习中慢慢体会了)。

C语言是结构化和模块化的面向过程的语言,C++语言是混合型面向对象的程序设计语言。

C++语言是C语言的超集,也就是说学会了C++,你其实已经把C语言学会了。

至于说有什么区别,应该说是编程思想的区别吧,C是基于过程的,强调的是程序的功能,以函数(功能)为中心。

C++是面向对象的,强调程序的分层、分类,以抽象为基础,进行对象的定义与展示,即程序设计。

具体说来话长。

建议你学习C++的时候,学会用面向对象的方式思考和编程。

现在在开发大项目的时候,都是应用面向对象的分析和设计的技术。

C和C++的区别有什么?

其他的东西都不需要多说,就象类,继承,引用等,大家都知道。

这里讲的是调用编译的区别.大家看WIN32SDK的头文件,总是可以看到:

ifdef__cplusplusexternC

endif

ifdef__cplusplus

endif

这个就是直接能够体现实际编程时区别的地方。

在WIN系列下,所有的WIN32SDK提供的LIB都是以C的形式存在的。

当然,C和C++同样都支持C,STDCALL,FASTCALL调用。

为什么系统提供C编译器编译的LIB而不是C++编译的LIB呢?

这里其实就是C和C++编译器不同的地方。

所有的函数名称只有在汇编编译器下才最清楚。

因为经汇编编译器编译的函数不经过任何修饰。

C的编译器编译出来的函数名称如果在汇编编译器看来一个C调用将在函数名前家下划线('_')。

而一个STDCALL的函数将是_FUNC@NUMBER的形式,如FUNC(void)经过编译器后成为_FUNC@0。

一个FASTCALL调用的函数被编译成@FUNC@0。

顺便提一下,在WIN32的编译器里不再需要PASCALL调用,VC6已经取消了对PASCALL的支持.

光看C的编译还不够,看一下C++编译器是怎么干的。

在缺省情况下,一个C++的函数经过C++编译器后编译出的函数名包括函数名,所属的类,参数类型,调用约定,返回类型。

而且更要命的是这么多的信息,只有函数名和类名在编译后还依稀可见,其他就是一长串的ABCD字母,根本就是无法辨认其意义的。

我们在VC手册里可以看到一个例子:

void__stdcallb:

:

c(float);----------->?

c@b@@QAGXM@Z

一个函数被编译得连名字也不知道怎么样了.这么一来.如果SDK提供的是C++编译器提供了LIB.那么可以说就无法编译任何一个完整的WIN程序.更加不用说什么混合语言编程.

现在,VC编译器提供了个extern语句,当出现extern'C'语句,括号里的函数将以C方式经过编译器.从而使提供库程序方便那么点。

C语言与C++的区别有很多:

1,全新的程序程序思维,C语言是面向过程的,而C++是面向对象的。

2,C语言有标准的函数库,它们松散的,只是把功能相同的函数放在一个头文

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2