1 回答

TA貢獻1820條經驗 獲得超9個贊
它們只是語法具有相似性,并沒有什么本質的關聯,也并不完全兼容
C語言和C++語言語法具有相似性,但是差異還是比較大的:
1 關鍵字不一樣。C++具有更多的關鍵字。而c語言的關鍵字要少很多。
2 相同的關鍵字解釋也不一定相同。比如struct解釋就不一樣。C++中struct實際上是按照類(也就是class)來解釋的,可以有成員函數、成員變量、構造函數、析構函數等等。C語言里面的struct是一種數據結構,不存在成員函數或者構造函數等等東西。
3 C++擁有域名空間、模板等更加先進的語法特征,而C語言不具備這些。
4 使用的編譯器也不相同。在linux中,C++使用的是g++編譯器,而C是用的gcc編譯器。如果將C++代碼傳入gcc編譯器,它會調用g++去編譯。如果你用g++編譯c語言代碼,它會按照c++的方式解釋代碼,這樣可能一些結構體的行為會和你預期的行為不一致。
5 他們使用的范圍不同。c++一般是面向應用級別的程序開發,c語言則是面向內核或者驅動級別的開發。c語言現在一般沒有用于應用開發的了。
6 使用的庫也不一樣。C++可以使用C的庫,但是C語言不一定能夠使用C++的庫,除非C++的庫接口是按照C語言的規范編寫的。
7 C語言是一種面向過程開發的語言,核心是函數和數據結構。C++是一種面向對象開發的語言,核心是類和復用。
總之他們并不相同,也不能混為一談。你可以直接學習C++而跳過C語言,這樣反而對于你理解C++的思想有好處。你也可以單獨學習C語言,而不學C++,如果你只需要做內核或者做驅動。千萬不能因為一些基礎的關鍵字和語法特征相似而認為他們兼容。
- 1 回答
- 0 關注
- 1310 瀏覽
添加回答
舉報