c语言是面向过程的程序设计,主要核心为:数据结构和算法,具有高效的特性。对于C语言程序的设计,主要是考虑如何通过一个过程,对输入进行处理得出一个输出。C++是面向对象的程序设计,对于C++,首先考虑的是如何构造一个对象模型,让这个模型配合对应问题,这样可以通过获取对象状态信息得到输出
new/malloc区别
C++符号生成规则
C语言中,只函数名有关;C++中,和函数返回值、函数名以及形参有关
函数重载的特点
函数名相同、参数不同、函数作用域相同,C语言中函数名称不可以相同,即函数不可以重载
C/C++相互调用
extern "C"
1.extern修饰符可用于指示C或者C++函数 的调用规范:
比如在C++中调用C库函数,就需要在C++程序中用extern “C”声明要引用的函数。这是给链接器用的,告诉链接器在链接的时候用C函数规范来链接。主要原因是C++和C程序编译完成后在目标代码中命名规则不同。
2.extern修饰变量的声明
如 果文件a.c需要引用b.c中变量int v,就可以在a.c中声明extern int v,然后就可以引用变量v。
3.extern修饰函数的声明
如果文件a.c需要引用b.c中的函数,比如在b.c中原型是int fun(int mu),那么就可以在a.c中声明extern int fun(int mu),然后就能使用fun来做任何事情。就像变量的声明一样,extern int fun(int mu)可以放在a.c中任何地方,而不一定非要放在a.c的文件作用域的范围中。
C语言struct和C++中struct的区别
- C语言中:struct是用户自定义数据类型(UDT);C++中struct是抽象数据类型(