c和c 的區別?

2021-09-13 22:07:40 字數 766 閱讀 3299

c是面向過程的語言

,而c++是物件導向的語言;c

和c++

動態管理記憶體的方法不一樣

,c是使用malloc/free函式,而c++除此之外還有new/delete關鍵字;(關於malooc/free與new/delete的不同又可以說一大堆,最後的擴充套件_1部分列出十大區別);

接下來就不得不談到

c中的struct和c++的類

,c++的類是c所沒有的,但是c中的struct是可以在c++中正常使用的,並且c++對struct進行了進一步的擴充套件,使struct在c++中可以和class一樣當做類使用,而唯一和class不同的地方在於struct的成員預設訪問修飾符是public,而class預設的是private;

c++支援函式過載,而c不支援函式過載

,而c++支援過載的依仗就在於c++的名字修飾與c不同,例如在c++中函式int fun(int ,int)經過名字修飾之後變為 _fun_int_int ,而c是 

_fun,一般是這樣的,所以c++才會支援不同的引數呼叫不同的函式;

c++中有引用,而c沒有

;這樣就不得不提一下引用和指標的區別(文後擴充套件_2);

當然還有c++全部變數的預設鏈結屬性是外鏈結,而c是內連線;

c 中用const修飾的變數不可以用在定義陣列時的大小,但是c++用const修飾的變數可以(如果不進行&,解引用的操作的話,是存放在符號表的,不開闢記憶體);

當然還有區域性變數的宣告規則不同,多型,c++特有輸入輸出流之類的,很多,下面就不再列出來了; 「`

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機 ...