C和C++的特點和區別

C和C++的特點和區別

(1)C語言特點:

1.作爲一種面向過程的結構化語言,易於調試和維護;

2.表現能力和處理能力極強,可以直接訪問內存的物理地址;

3.C語言實現了對硬件的編程操作,也適合於應用軟件的開發;

4.C語言還具有效率高,可移植性強等特點。

(2)C++語言特點:

1.在C語言的基礎上進行擴充和完善,使C++兼容了C語言的面向過程特點,又成爲了一種面向對象的程序設計語言;

2.可以使用抽象數據類型進行基於對象的編程;

3.可以使用多繼承、多態進行面向對象的編程;

4.可以擔負起以模版爲特徵的泛型化編程。

(3)區別

1、文件區別:C源文件後綴 .c;C++源文件後綴 .cpp

2、返回值: C默認返回int型 ;C++ 若無返回值,必須指定爲void

3、參數列表:C默認接收多個參數;C++默認爲void,不接收任何參數

4、缺省參數:C不支持給函數參數指定默認值;C++支持

5、C++支持函數重載,C不支持

(而C++支持重載的依仗就在於C++的名字修飾與C不同,例如在C++中函數int fun(int ,int)經過名字修飾之後變爲 _fun_int_int ,而C是_fun,一般是這樣的,所以C++纔會支持不同的參數調用不同的函數;)

6、C指針;C++多了引用

7、C是面向過程的,C++是面向對象的。

8、結構:C中的struct和C++的類,C++的類是C所沒有的,但是C中的struct是可以在C++中正常使用的,並且C++對struct進行了進一步的擴展,C語言結構只有成員變量沒有成員方法,C++結構有自己的成員變量和成員函數。使struct在C++中可以和class一樣當做類使用,struct的成員默認訪問修飾符是public,而class默認的是private;

9、動態管理內存:C是使用malloc/free函數,C++除此之外還有new/delete關鍵字

10、C++全部變量的默認鏈接屬性是外鏈接,而C是內連接;

11、C中用const修飾的變量不可以用在定義數組時的大小,但是C++用const修飾的變量可以(如果不進行&,解引用的操作的話,是存放在符號表的,不開闢內存);

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章