C/C++ 返回值、参数列表、缺省等区别

一、返回值

  • C中:如果函数未指定返回值类型,则默认为int

  • C++中:如果一个函数没有返回值,返回值类型必须指定为void

二、参数列表

  • C中:如果函数没有指定参数列表,则默认可以接受任意多个参数

  • C++中:有严格的类型检测,没有参数列表的函数默认为void,不接受任意参数

三、缺省参数(即给参数一个默认值)

  • C:不支持

  • C++:支持(如果没有指定实参则使用缺省值,有则使用指定实参)

  1. 默认实参必须在参数列表的结尾

  2. 默认参数只能出现在函数声明或者定义二选一中

  3. 缺省值必须是常量或全局变量

  4. 缺省参数必须是值传递或者常参传递

四、函数重载

  • C:不支持

  • C++:支持在同一作用域中存在几个功能类似的同名函数,但参数列表(参数个数、类型、顺序)不同

五、引用和指针

引用:可以看做是一个变量的别名

  • 特点:
  1. 必须初始化
  2. 一个变量可以有多个引用
  3. 引用一旦初始化,就不能在成为其他变量的引用
    ps:数组不能被引用
  • 引用与指针的异同:

同:底层实现相同
异:
1.引用必须初始化
2.引用一旦绑定就不能更改
3.++的结果不同
4.有多级指针,没有多级引用

你可能感兴趣的:(C/C++ 返回值、参数列表、缺省等区别)