C和C 的一些語法區別

2021-08-19 17:26:45 字數 592 閱讀 6237

①struct

在c語言中,試用定義的struct型別的變數方式:struct [定義的變數] [生成的變數];在c++語言中,試用定義的struct型別的變數方式:struct [定義的變數] [生成的變數]或者[定義的變數] [生成的變數]。

在c語言中struct定義的變數中不能有函式,而在c++中可以有函式。

②函式的引數以及返回值(以test()為例)

c語言中,表示引數可有可無,返回值為int;c++中表示無參函式,由於無返回值導致語法錯誤,但是當無返回值的函式為建構函式的時候例外。

③malloc

malloc函式的返回值為void*,在c語言中可以賦值給任意型別的指標,在c++中必須進行強制型別裝換,否則報錯。

④malloc、free和new、delete

malloc、free在c和c++中均可使用,但是在c++中更多的是使用 new、delete。malloc、free是函式,而new、delete是操作符,兩組堆記憶體的操作不能混用。

⑤struct和class

class是對struct的擴充套件,struct預設的訪問許可權是public,而class預設的訪問許可權是private。

C 與C 的一些語法區別

這學期有c 的課,由於之前有c和c 的一些基礎,所以並沒有從頭開始學習其語法,在這裡總結一下實際使用中發現的c 與c 的一些區別,便於以後使用時進行查閱 其實是為了考期複習方便2333 c是完全面向過程的語言,用於開發規模較小的程式效率很高,但是程式較大,就顯得 量多,編寫效率下降了。c 是半面相物...

c和c 關於const的一些區別

以下參考了網上的一些資料並通過程式驗證。注意,以下情況都是用gcc和g 編譯器得到的結果,用vs編譯器又會有所不同。以下說下c和c 中const定義的常量的一些區別 c 中用const定義了乙個常量後,不會分配乙個空間給它,而是將其寫入符號表 symbol table 這使得它成為乙個編譯期間的常量...

C 與C 的一些區別

最近在學習c 總結了一些c 與c 的區別 1.c 不支援多重繼承。2.c 檔案是.h,cpp,而c 檔案是.cs。3.c 宣告類時,括號後沒有 4.與c c 不同,c 在類的外部不能宣告全域性變數,也沒有全域性函式。6.c 中的var相當於c 中的auto。7.c 中不管巢狀級別如何,都不能在第乙個...