參考:c primer plus 6th
在很大程度上,c++是c的超集,這意味著乙個有效的c程式也是乙個有效的c++程式。c和c++的主要區別是,c++支援許多附加特性。但是,c++中許多規則與c稍有不同。這些不同使得c程式作為c++程式編譯時可能以不同的方式執行或者根本不能執行。
c99標準的發布使得問題更加複雜,因為有些情況使得c更接近c++。例如,c99標準允許在**中的任意處進行宣告,而且可以識別//注釋指示符。在其他方面,c99使得其與c++的差異變大。例如,新增了變長陣列和關鍵字restrict。c11縮小了與c++的差異。例如,引進了char16_t型別,新增了關鍵字_alignas,新增了alignas巨集與c++的關鍵字匹配。c11仍處於起步階段,許多編譯器開發商甚至都沒有完全支援c99。要了解它們之間的區別,需要了解c90,c99,c11之間的區別,還要了解c++11與這些標準之間的區別,以及每個標準與c標準之間的區別。下面主要討論c99,c11和c++之間的區別。由於c++也在發展,因此,c與c++之間的異同也在不斷發展變化。
C 與C的區別
l c如果不寫返回值,預設是int,而c 中不能不寫返回值 可用void表示無返回值 如func1 l int func1 在c中表示可帶任意引數的函式,這是c的漏洞,使得它避開了引數型別檢查 而c 中表示不帶引數的函式。2 標頭檔案的區別 l c 的標頭檔案去掉了c中的.h,以c字首開始。比如,變...
C與C 的區別
1.void型指標 int x malloc sizeof int 10 在c裡面是合法的,但是在c 中編譯不通過。從bjarne stroustrup給出的解釋是這種型別是不安全的。就是說你可以使用乙個void型的指標指向任何位址,如果你分配了乙個位址給這個void指標指向另乙個與它型別不同的指標...
C與C 的區別
在很大程度上,標準c 是標準c的超集.實際上,所有c程式也是c 程式,然而,兩者之間有少量區別.下面簡要介紹一下最重要的區別.在c 中,民,區域性變數可以在乙個程式塊內在任何地方宣告,在c中,區域性變數必須在程式塊的開始部分,即在所有 操作 語句之前宣告,請注意,c99標準中取消了這種限制.在c中,...