C 和C的區別

2021-07-03 13:05:30 字數 1470 閱讀 2125

c++與c語言的關係:

1、c++繼承了所有的c特性

2、c++在c的基礎上提供了更多更好的語法和特性

3、c++的設計目標是執行效率和開發效率的統一

c++對c語言的加強:

1、c++中所有的變數都可以再需要使用時再定義(如 for迴圈等中需要的變數)

3、c中可以定義多個同名的全域性變數;c++不可以

4、const;c++中對const的處理:當碰到const常量宣告時,在符號表中放入常量;在編譯過程中發現使用常量,直接用符號表中的值替換;在編譯中發現對const使用了extern或者&則給對應的常量分配空間;   const與巨集的區別:const由編譯器處理,檢查型別和作用域;巨集由預處理器處理,只做文字替換。

5、struct:c中struct只是一組變數的集合,沒有定義新的型別;c++中struct定義了乙個新的型別。

6、c++中所有變數和函式都必須有顯式的型別宣告

7、int f();c中可接受任意引數的函式;c++中為不接受任何引數。int f(void);c中不接受任何引數;c++中不接受任何引數。

8、c++中的布林型別bool;取值只能是true或者false;多個bool放在一起定義,可能各佔乙個bit

9、三目運算子的公升級,返回值全為變數時返回的是引用,否則返回的是值

1->for迴圈等中需要的變數:例如:

#include

int main(int argc, char *argv)

}printf("c = %d\n", c);

printf("end...\n");

printf("press enter to continue ...");

getchar();

return 0;

}2->register例項:

#include

int main(int argc, char *argv)

3->c++不可以定義多個同名的全域性變數:例如:

#include

int g_var;

int g_var = 1;

int main(int argc, char *argv)

4->const例項:

#include

int main(int argc, char *argv)

5->c++中struct定義了乙個新的型別:例如:

#include

struct student

;int main(int argc, char *argv)

;student s2 = ;

printf("press enter to continue ...");

getchar();

return 0;

}6->c++中所有變數和函式都必須有顯式的型別宣告:例如:

#include

f(i)

g()int main(int argc, char *argv)

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

C和C 的區別

c語言是面向過程的,c 是物件導向的,而c和c 的區別也就是面向過程和物件導向的區別。面向過程 op 和物件導向 oo 其實是相輔相成的,面向過程是以 事件 為中心的,分析完成這個事件需要做的工作,最後用函式來實現,並按照順序呼叫。而物件導向是以 物件 為中心,建立物件的目的不是為了完成某個工作,而...