C 語言和C 有什麼區別
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 語言和 C++ 有什麼差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!