头文件
在C语言中,我们见到的头文件都是#include<******.h>的格式,而C++中STL的库没有.h。
并且要引入命名空间using namespace std
输入输出
C:
输入:scanf("%d %c",&a,&ch);
输出:printf(“a = %d ch = %ch\n”,a,ch);
C++:
输入cin>>a>>ch;
输出:cout<<"a = "<<a<<"ch = "<<ch<<endl;
相比之下,C在输入的时候不如C++方便比较复杂,但是在输出的时候却比C++的cout简单
函数重载
例如:
int add(int a,int b)
{
return a+b;
}
double add(double a,double b)
{
return a+b;
}
在C语言中这样是错误的,因为C中只由函数名来区分函数
而同样情况在C++中就没有错误,因为在C++中是根据函数返回类型,函数名,函数参数列表来区分的,上面两种虽名称相同但还是两个函数。
函数默认值
C++当定义函数时,可以给参数赋默认值的时候要从右向左赋值,不可以间隔着赋默认值。在调动函数的时候,实参是从左向右依次给,也不能间隔着给。
在指针类的赋初始值只能允许给一个NULL
堆区上开辟空间
C语言只能开辟空间
C++在开辟空间的同时还能为开辟的空间赋初值(初值为10,大小为n)
释放空间:s前[]是要释放多个整形空间