void
func()
在c編譯器中,執行錯誤,a和b必須在最開始宣告;
在c++編譯器中,執行正常,區域性變數隨時用,隨時宣告即可。
register關鍵字作用:
register a;
// 請求編譯器讓變數a直接放在暫存器裡面,速度快
c語言中, register修飾的變數 不能取位址,
c++編譯器有自己的優化方式,不使用register也可能做優化
c++中可以取得register變數的位址,c++編譯器發現程式中需要取register變數的位址時,register對變數的宣告變得無效。
void
func()
在c中執行錯誤,c++中正常執行。
不使用register也會做優化:
void
func()
}
int g_var=
210;
int g_var;
intmain
(int argc,
char
*ar**)
在c語言中,輸出正常:210;
在c++中,執行出錯,變數重定義。
c語言struct定義了一組變數的集合,c編譯器不認為這是一種新的型別;
c++編譯器中的struct是乙個新型別的定義宣告;
struct student
;int
main
(int argc,
char
*ar**)
;// c語言中必須前面加上struct關鍵字:
// struct student s1 = ;
// struct student s2 = ;
student s2 =
;return0;
}
c 對c語言上的增強
include iostream using namespace std c語言中的變數都必須在作用域開始的位置定義!c 中更強調語言的 實用性 所有的變數都可以在需要使用時再定義。include using namespace std c語言中的變數都必須在作用域開始的位置定義!c 中更強調語言的...
C語言和C 對比
c 語言 c c cpp c 語言 gcc 檔名.c o hello hello為自定義名稱 c g 檔名.cpp c語言 300 500之間能被3和7整除的偶數 include 預處理指令 int main return 0 c 300 500之間能被3和7整除的偶數 include 標頭檔案 u...
C 語言和C 語言的 struct對比
c 語言和c 語言的 struct對比 author stonehat 1.c 語言將struct當成類來處理的,所以c 的struct可以包含c 類的所有東西,例如建構函式,析構函式,友元等,c 的struct和c 類唯一不同就是 struct成員預設的是public,c 預設private。而c...