C和C 的特點和區別

2021-08-22 17:56:56 字數 1021 閱讀 9269

1.作為一種面向過程的結構化語言,易於除錯和維護;

2.表現能力和處理能力極強,可以直接訪問記憶體的實體地址;

3.c語言實現了對硬體的程式設計操作,也適合於應用軟體的開發;

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

1.在c語言的基礎上進行擴充和完善,使c++相容了c語言的面向過程特點,又成為了一種物件導向的程式語言;

2.可以使用抽象資料型別進行基於物件的程式設計;

3.可以使用多繼承、多型進行物件導向的程式設計;

4.可以擔負起以模版為特徵的泛型化程式設計。

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修飾的變數可以(如果不進行&,解引用的操作的話,是存放在符號表的,不開闢記憶體);

C 和C的區別

c 與c語言的關係 1 c 繼承了所有的c特性 2 c 在c的基礎上提供了更多更好的語法和特性 3 c 的設計目標是執行效率和開發效率的統一 c 對c語言的加強 1 c 中所有的變數都可以再需要使用時再定義 如 for迴圈等中需要的變數 3 c中可以定義多個同名的全域性變數 c 不可以 4 cons...

C和C 的區別

這裡主要討論的是區別,而不是c 中有的,而c語言中沒有的東西。c 比c語言多了很多東西,最重要的當屬類 物件導向程式設計 和模板 泛型程式設計 基於泛型程式設計還引出了元程式設計 metaprogramming 等等。這裡討 共部分但是不一樣的部分 函式過載是c 支援的,c不支援 c 的函式過載在類...

C 和C的區別

c c 的聯絡 c c 區別 小知識點補充擴充套件 free 而new開闢物件陣列用的是new size 釋放的的時候是 delete 5 返回值問題,malloc開闢成功返回void 需要強轉,失敗返回null,new 成功返回物件指標,失敗丟擲異常 這就可能會提到c 的new handler機 ...