一、返回值
C中:如果函數未指定返回值類型,則默認爲int
C++中:如果一個函數沒有返回值,返回值類型必須指定爲void
二、參數列表
C中:如果函數沒有指定參數列表,則默認可以接受任意多個參數
C++中:有嚴格的類型檢測,沒有參數列表的函數默認爲void,不接受任意參數
三、缺省參數(即給參數一個默認值)
C:不支持
C++:支持(如果沒有指定實參則使用缺省值,有則使用指定實參)
1.默認實參必須在參數列表的結尾
2.默認參數只能出現在函數聲明或者定義二選一中
3.缺省值必須是常量或全局變量
4.缺省參數必須是值傳遞或者常參傳遞
四、函數重載
C:不支持
C++:支持在同一作用域中存在幾個功能類似的同名函數,但參數列表(參數個數、類型、順序)不同
五、引用和指針
引用:可以看做是一個變量的別名
特點: 1.必須初始化
2.一個變量可以有多個引用
3.引用一旦初始化,就不能在成爲其他變量的引用
ps:數組不能被引用
引用與指針的異同:
同:底層實現相同
異:1.引用必須初始化
2.引用一旦綁定就不能更改
3.++的結果不同
4.有多級指針,沒有多級引用