C语言和C++在语法上有那些区别?要详细具体一点!!!

来源:百度知道 编辑:UC知道 时间:2024/05/27 23:33:22

/*总得语法上C++更加灵活,随便想到了几个写出来*/

struct T{
int a,b;
};

do_some_thing(int &i) //C++专有的引用类型,函数中对i的操作将影响原变量。
{.....}

main() //这样注释 C语言不允许的
{ int i=0,*p;
struct T *pT;//C++可以没有struct,还可以T* pT
do_some_thing(i);
for(int k=0;k*100>i*i;i=k++); //仅C++可以中途定义变量
p=new T;//C中malloc(sizeof(T))
p=pT;//C可以,C++要改成p=(int*)pT,这个比较关键

}

另外还有重载,类等等C语言里没有的,不再赘述。

以上所谓C语言都是89版ISO/ANSI C,C++是在这个版本上开发的,所以C89是C++的子集。后来C又有了所谓99版的C99,支持了单行注释,还加了几个C++都没有的关键字,开始与C++分道扬镳了。

这个多了。。。建议你看书去。。。

简单说
c面向过程,c++面向对象
c++在c的基础上做了很大扩展,增加了类,支持函数重载,模板等新特性
c++通过类对过程实现了封装