1.c++是c的後代,c++繼承了所有c特性。
2.c語言帶有許多低階語言的特性,c++在c的基礎上增加了更多的語法和特性:支援物件導向(最為重要)、型別加強、函式加強、異常處理等。
3.c++的設計目標是執行效率和開發效率的統一
1.c++更為強調實用性
例1 c++中所有變數都可以在需要時再定義,而c語言中變數都必須在作用域開始的位置定義
int c = 0;
for(int i = 0;i < 100;i++)
}2.c++中支援register關鍵字以相容c語言
在c語言中無法獲取register變數的位址,c++中可以獲取register變數的位址(c++編譯器有自己的優化方式)
對於register變數的處理由編譯器決定,有微控制器裸機程式設計經歷的小夥伴可以看看keil是怎麼處理的。
3.在c語言中,重複定義多個全域性變數是合法的,而在c++中是不合法的,c++拒絕這種二義性的做法。
4.struct關鍵字的加強
c語言中struct定義的是一組變數的集合,struct定義的識別符號並不是一種新的型別,而c++中用於定義乙個全新的型別
5.c++中所有的識別符號必須顯示宣告型別,而c語言許多預設型別(潛規則)在c++中是不合法的
例2 請問 int f()與 int f(void)的區別,如果有區別,是什麼?
答:如果使用c++的編譯器編譯,沒有區別
如果使用c的編譯器編譯,有區別。前者,為返回值為整型,接受任意引數的函式;後者為返回值為整型的無引數函式。
1.c++比c更加嚴謹和實用
2.c++中的register只是起乙個相容的作用
3.c++編譯器能夠更好的優化
4.c++識別符號必須顯示和指明型別,c++比c更加明了直觀。
C 學習筆記3 C語言到C 的公升級
c語言中的const變數 c語言中const變數是唯讀變數,有自己的儲存空間 c 中的const常量 可能分配儲存空間 當const常量為全域性,並且需要在其它檔案中使用 當使用 操作符取const常量的位址 c 中的const小結 c 中的const常量類似於巨集定義 const int c 5 ...
C到C 的公升級
c與c 的關係 1.c 繼承了所有的c特性 2.c 在c的基礎上提供了更多的語法和特性 3.c 的設計目標是執行效率與開發效率的統一 c 對c的加強 1.c 中更強調語言的 實用性 所有的變數都可以在需要使用的時候再定義 for int i 0 i 10 i c 編譯器不報錯 注意 c語言中的變數都...
c到c 的公升級
c 繼承了c的所有特性,c 在c的基礎上同時增加了許多新的語法和特性,c 的目標是實現執行效率與開發效率相統一。c 中更加強調語言的實用性,所有變數可在使用的時候再定義。例如 include int main int argc,char argv printf c d n c printf end....