首頁 >常見問題 >C語言和C++有什麼差別

C語言和C++有什麼差別

清浅
清浅原創
2019-02-23 16:32:5624271瀏覽

C語言與C 的區別有:C屬於面向過程語言,C 屬於物件導向語言;另外它們的檔案後綴名,關鍵字,函數傳回值,函數重載以及參數列表等方面都不相同

對C語言和C 來說,很多人都容易把C 當做C語言的升級版,其實它兩人之間並不是升級或替代的關係。接下來在文章中將為大家具體介紹這兩者之間的差異,希望對大家有幫助。

C語言和C++有什麼差別

【推薦課程:#C語言教學 C 教學

C語言和C 的差異

(1 )面向過程語言和物件導向語言

C語言是一個面向過程語言,即先分析出解決問題的步驟然後再將這些步驟一一實現

C 是物件導向語言,也就是把問題分成若干個對象,目的是為了描述某個事物在解決整個問題的步驟中的行為

(2)關鍵字不同

# C語言中有32個關鍵字,而C 有63個關鍵字。另外C語言中struct關鍵字定義的變數不能有函數,而在C 中可以有函數

(3)檔案後綴名不同

C語言中原始檔的後綴名是.c,C 原始檔後綴名是.cpp

(4)函數傳回值不同

C語言中如果一個函數沒有指定傳回值類型,預設回傳int型別;C 中如果一個函數沒有回傳值則必須指定為void

(5)函數重載

函數重載是函數的一種特殊情況,指在同一作用域中,宣告幾個功能類似的同名函數,這些同名函數的形參列表(參數個數、類型、順序)必須不同,返回值類型可以相同也可以不同,常用來處理實作功能類似資料型態不同的問題。

C語言中由於函數符號的規則是根據名稱產生的,因此它不具備函數重載,而C 生成的函數符號則考慮了函數名,參數以及參數類型等

所以C 可以根據函數名參數個數參數類型來判斷重載,屬於靜多態,必須同一作用域下才叫重載

(6)參數列表

在C語言中函數沒有指定參數列表時,預設可以接收任意多個參數;但在C 中,因為嚴格的參數類型檢測,沒有參數列表的函數,預設為void,不接收任何參數

總結:以上就是這篇文章的全部內容了,希望對大家有幫助。

以上是C語言和C++有什麼差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn