C语言与C++有何区别与联系

[复制链接]
查看11 | 回复4 | 2006-9-3 21:47:28 | 显示全部楼层 |阅读模式
C能用的C++也能用,C++能用的,C不一定能用
回复

使用道具 举报

千问 | 2006-9-3 21:47:28 | 显示全部楼层
c在dos下,面向过程c++是在windows下
回复

使用道具 举报

千问 | 2006-9-3 21:47:28 | 显示全部楼层
1. C是面向过程的程序设计语言,而C++是面向对象的程序设计语言。2.C++中有类,抽象,继承,多态,而C没有这些东西3.C++最大的特点就是复用,这是C语言无法比的
回复

使用道具 举报

千问 | 2006-9-3 21:47:28 | 显示全部楼层
1 早联编与晚联编非OOP编译器通常采用早联编,编译器对特定的函数名产生调用,而连接器确定调用可执行函数的决定地址。在程序运行前,编译器已经确定了执行代码的地址。OOP编译器则采用晚联编,编译器只是保证这个调用函数存在,编译器在真正调用的地方插入一段特殊的二进制代码,通过使用存放在对象中的信息,这段代码在程序时才计算被调用函数的地址。 2 C++中必须先说明函数才能够调用 ,使编译器能够检查他们的使用情况。C中函数声明时,参数名可给也可不不给出,但定义时参数必须。但C++中定义时参数不一定要给出。3 C++存在引用,他允许对函数参数和返回值的地址进行更方便的处理。4 C++存在命名空间概念,加强了对名字的控制,有效防止了名字冲突。C对于函数使用单个名字空间,所以当连接器找一个函数名,只在一个单独的主表中寻找。在C中如果同时引用两个第三方的库,函数名可能冲突,标准C规定应该给出一个出错。但有的编译器只是寻找第一个找到的函数名,很可能造成不可预料的后果。5 C与C++程序的速度大概在+ -10%之内。6 C++中的非成员函数必须定义返回值,没有显式返回值的声明或定义将编译出错。但类中的构造函数又不能指定返回类型,甚至不能返回void。7 C++ 中int fork() 等价int fork(void);C中不支持前者。8 C++允许在局部程序块中使用变量前的任意位置定义变量;C要求一律在局部程序块开始的位置定义变量。 9 在C中不允许直接FOR表达式中直接定义循环变量,C++是允许的。for(int j = 0; j < 100; j++) {
cout << "j = " << j << endl;}而且在标准C++中,上面的j在for循环结束后立即无效。10 用const代替define,因为const提供类型检查11 C++中对枚举进行严格的类型检查,如果你定义了一个枚举变量为a,在C中你可以a++,但C++中不可以。12 C中不能用const作为数组下标,C++中可以,因为C++编译器通常把const常量放到符号表里面,不分配存储空间。13在C++中不允许这样使用const int bufsize因为C++中缺省为内部连接,也就是仅本文件内可见,你必须在定义时就给它赋值,除非你显式地声明一个外部变量extern const int bufsize;在C中const缺省为外部连接,也就是说const int bufsize;在C中就等于extern const int bufsize;参考资料:http://bbs.chinaunix.net/archiver/?tid-98881.html

已赞过已踩过<
回复

使用道具 举报

千问 | 2006-9-3 21:47:28 | 显示全部楼层
你没看见++吗, 简单的说是加强版C++兼容C
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行