二、具体语言上的区别
1、关键字的不同
C语言有32个关键字;
C 有63个关键字;
2、后缀名不同
C源文件后缀.c,C 源文件后缀.cpp,在VS中,如果在创建源文件时什么都不给,默认是.cpp。
3、返回值
C语言中,如果一个函数没有指定返回值类型,默认返回int类型;C 中,如果一个函数没有返回值则必须指定为void。
4、参数列表
在C语言中,函数没有指定参数列表时,默认可以接收任意多个参数;但在C 中,因为严格的参数类型检测,没有参数列表的函数,默认为 void,不接收任何参数。
5、缺省参数缺省参数是声明或定义函数时为函数的参数指定一个默认值。在调用该函数时,如果没有指定实参则采用该默认值,否则使用指定的参。(C语言不支持缺省参数)
· 半缺省参数
· 全缺省参数
注意:
· 在半缺省的情况下,带缺省值的参数必须放在参数列表的最后面。
· 缺省参数不能同时在函数的声明和函数定义中出现,二者只能选其一。
· 缺省值必须是常量或者全局变量。
· 缺省参数必须通过值参或常参传递。
6、函数重载
函数重载:函数重载是函数的一种特殊情况,指在同一作用域中,声明几个功能类似的同名函数,这些同名函数的形参列表(参数个数、类型、顺序)必须不同,返回值类型可以相同也可以不同,常用来处理实现功能类似数据类型不同的问题。(C语言没有函数重载,C 支持函数重载)。