C與C 的區別

2021-07-13 14:47:58 字數 930 閱讀 5822

(1)標準c++是標準c的超集;

(2)c:面向過程,結構化語言,它的重點在於演算法和資料結構,c程式的設計首要考慮的是如何通過乙個過程,對輸入(或環境條件)進行運算處理得到輸出(或實現過程(事務)控制);程式=資料結構+演算法;側重於計算機底層操作;

c++:物件導向,首要考慮的是如何構造乙個物件模型,讓這個模型能夠契合與之對應的問題域,這樣就可以通過獲取物件的狀態資訊得到輸出或實現過程(事務)控制;

c與c++的最大區別在於它們的用於解決問題的思想方法不一樣;c++的主要特點是類,封裝和繼承;與c的區別主要為 :類、繼承和多重繼承、運算子過載、類模板、c++標準庫、模板庫。

(3)c++對c的「增強」,表現在六個方面:

a. 型別檢查更為嚴格; 

b. 增加了物件導向的機制; 

c.增加了泛型程式設計的機制(template); 

d.增加了異常處理;

e.增加了運算子過載;

f.增加了標準模板庫(stl);

g.c++增加了c不具有的關鍵字;

(4)其他區別:

在c++中,區域性變數可以在乙個程式塊內在任何地方宣告,在c中,區域性變數必須在程式塊的開始部分,即在所有"操作"語句之前宣告,注意,c99標準中取消了這種限制;

新式c++頭部檔案不再使用.h副檔名;

c++中new和delete是對記憶體分配的運算子,取代了c中的malloc和free;

標準c++中的字串類取代了c標準c函式庫標頭檔案中的字元陣列處理函式;

c++中用來做控制態輸入輸出的iostream類庫替代了標準c中的stdio函式庫;

c++中的try/catch/throw異常處理機制取代了標準c中的setjmp()和longjmp()函式;

c 和 c++ 中都有結構的概念,但是在 c 語言中結構只有成員變數,而沒成員方法,而在 c++ 中結構中,它可以有自己的成員變數和成員函式。

C 與C的區別

l c如果不寫返回值,預設是int,而c 中不能不寫返回值 可用void表示無返回值 如func1 l int func1 在c中表示可帶任意引數的函式,這是c的漏洞,使得它避開了引數型別檢查 而c 中表示不帶引數的函式。2 標頭檔案的區別 l c 的標頭檔案去掉了c中的.h,以c字首開始。比如,變...

C與C 的區別

1.void型指標 int x malloc sizeof int 10 在c裡面是合法的,但是在c 中編譯不通過。從bjarne stroustrup給出的解釋是這種型別是不安全的。就是說你可以使用乙個void型的指標指向任何位址,如果你分配了乙個位址給這個void指標指向另乙個與它型別不同的指標...

C與C 的區別

在很大程度上,標準c 是標準c的超集.實際上,所有c程式也是c 程式,然而,兩者之間有少量區別.下面簡要介紹一下最重要的區別.在c 中,民,區域性變數可以在乙個程式塊內在任何地方宣告,在c中,區域性變數必須在程式塊的開始部分,即在所有 操作 語句之前宣告,請注意,c99標準中取消了這種限制.在c中,...