您好,登錄后才能下訂單哦!
1、C語言是面向過程的,而C++是面向對象的;
2、C語言的標準的函數庫很松散,而C++對于大多數的函數都是集成的很緊密;
3、C語言中結構只有成員變量,而在C++中結構中,可以有成員變量和成員函數。
語法上的區別
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++ 有什么區別的詳細內容,更多請關注億速云其它相關文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。