C語言和C 的區別(函式過載)

2021-08-08 22:48:35 字數 1549 閱讀 5987

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中這麼想的,先分為幾步 ...