你觉得C语言与C 的差异是什么?

Python011

你觉得C语言与C 的差异是什么?,第1张

C++比C多了些东西,比如引用,异常,带方法的struct,构造函数,析构函数,函数重载,template,右值,functonal等等,如果正真精通了C,完全可以在理解C++,没什么难的,难的是C++太强大,重载,模板,宏等组合起来后,一万个人可能会写出一万种框架。个人建议是,异常尽量不用,异常改变了执行流程能用指针就别用引用,两个基本是一样的的东西,指针能判断有效性,引用没有,引用也有空指针的危险,空引用的崩溃栈没用能用句柄加函数的就别用类,简单灵活,C要用的时候也没问题。

两者区别有很多:

1、不一样的程序思维,C语言是面向过程的,而C++是面向对象的。

2、C语言的数据库是松散的,只是把功能相同的函数放在一个头文件中而C++对于大多数的函数都很紧密,特别是C语言中没有的C++中的API是对Window系统的大多数API有机的组合,是一个集体。

3、C语言中结构只有成员变量,而没成员方法,而在C++中结构中,它可以有自己的成员变量和成员函数。

此外,C语言可以写很多方面的程序,但是C++可以写得更多更好,它写基于DOSr程序,写DLL,写控件,写系统。

C语言对程序的文件的组织是松散的,几乎是全要程序处理而c++对文件的组织是以工程,各文件分类明确。

C++对可以自动生成你想要的程序结构使你可以省了很多时间。有很多可用的工具如加入MFC中的类的时候,加入变量的时候等等。

C++中的附加工具也有很多,可以进行系统的分析,可以查看API可以查看控件。 

C#是三大主流OOP(面向对象编程)语言(C++,Java,C#)之一,它与C之间的一些差别。

C语言诞生得非常之早,C语言的目标就是比汇编方便易用,同时不要损失汇编的表达能力。所以C语言可以看成是“高级的汇编”语言。

C语言的源代码基本上可以非常容易地对应到汇编代码,而且可以不需要什么运行时环境的支持。C的特点,简单容易编译,灵活贴近底层。所以一直到现在,一些需要直接和硬件打交道的软件都还是用C语言写的。总之C语言编写简单,更接近底层,直观得管理数据存储。

C#语言抽象层次高且基本只有一种(面向对象的),运行时支持丰富(垃圾回收等),类库丰富。所以它就是好学,易用,同时兼顾运行效率,尽量优化。C#与Java类似,编译后得到的还不是机器代码,而是运行在虚拟机中的元指令。它对安全性做了更多的考虑,没有指针,不能直接操作内存,自动实现内存管理。