c和c++的區別主要分為三部分:
接下來詳細介紹一下函式部分的區別
1、
返回型別
引數列表
此外,在c++中還支援預設引數,而c語言不支援。
什麼是預設引數呢?
預設引數是宣告
或定義時為函式的引數指定乙個預設值。在呼叫函式時,如果沒有指定實參,則採用該預設值,否則使用指定的的實參。
預設引數又分為全預設引數和半預設引數。
全預設引數:引數列表的每乙個引數都給乙個預設值。
半預設引數:從引數列表的右邊
從右至左
依次連續
給出預設值(但不是沒有引數都給)
舉個例子:
void funtest(int a, int b = 2; int c = 3 )
√void funtest(int a = 2, int b; int c = 3 )
×注意:
1)、帶預設值得引數必須放在引數列表的後邊
2)、預設引數不能再宣告和定義中同時給出,一般在宣告時給出
3)、預設值必須是常量會全域性變數
4)、預設引數必須提通過值參或常參傳遞
3、
函式過載
什麼是函式過載呢?
函式返回值可相同也可以不相同
為什麼c++支援函式過載而c語言不支援呢?
往下看4、
呼叫函式時對函式名的改寫
在c語言中,在呼叫函式時對函式名的改寫就是直接在函式名的前邊加乙個_,舉個例子(函式名:funtest 改寫後:_funtest)。這樣就導致了編譯器就只能通過函式名來辨認乙個函式,當有多個函式的函式名一樣時就不知道呼叫哪個了。
在c++中,在對函式名改寫的時候會將函式的引數列表和返回值做特殊處理。如下圖(vs編譯器下):
ps:歡迎提出寶貴意見,謝謝!
C語言和C 的區別
c和c 的關係 就像是win98跟winxp的關係。c 是在c的基礎上增加了新的理論,玩出了新的花樣。所以叫c加加。c和c 的區別 c是乙個結構化語言,它的重點在於演算法和資料結構。c程式的設計首要考慮的是如何通過乙個過程,對輸入 或環境條件 進行運算處理得到輸出 或實現過程 事務 控制 c 首要考...
C語言和C 的區別
c 是c發展來的!c 是物件導向的語言,而c是結構化的語言!c的所有 在c 上都能應用,而c 的 在c上不能應用!c 是功能更強大的c!c語言與vc 的區別有很多 1,全新的程式程式思維,c語言是面向過程的,而vc 是物件導向的。2,c語言有標準的函式庫,它們鬆散的,只是把功能相同的函式放在乙個標頭...
C語言和C 的區別
1.字尾不同 2.關鍵字不同 c語言 c99有32個關鍵字 c c 98有63個關鍵字 3.c 面向過程 c 基於物件導向 面向過程與物件導向的區別?1 面向過程 c語言 eat 蛋炒飯 把所有要做的放在一起,無法做到飯與菜的分離,如果想改變菜會造成浪費 舉個例子 開車走在c中這麼想的,先分為幾步 ...