lessons 2 c到c 的公升級

2021-08-14 18:56:10 字數 1170 閱讀 8391

register關鍵字請求編譯器將區域性變數儲存於暫存器中,c語言中無法獲得register變數的位址,但是c++中可以取得register變數的位址

函式定義與預設值

:int fun(), fun(), int fun(void), fun(void), fun(i):

(1).c語言中:

fun()           //預設返回值為int型,形參為任意多個任意型別的引數的函式

int fun() //定義返回值為int型,形參為任意多個任意型別的引數的函式

int fun(void) //定義返回值為int型,無形參的函式

fun(void) //預設返回值為int型,無形參的函式

fun(i) //預設返回值為int型,預設形參為乙個int型的變數i

int fun(i) //預設返回值為int型,預設形參為乙個int型的變數i

(2).c++中:

fun()           //語法錯誤,函式定義必須指明型別

int fun() //定義返回值為int型,無形參的函式

int fun(void) //定義返回值為int型,無形參的函式

fun(void) //語法錯誤,函式定義必須指明型別

fun(i) //語法錯誤,函式定義必須指明型別

int fun(i) //語法錯誤,引數必須指明其型別

總結:說明一點,c++中對型別要求極為嚴格,必須要指明函式返回值和變數型別

C到C 的公升級 (2)

c 在c語言的基本型別系統之上增加了bool。c 中的bool可取的值只有true和false,這兩個是c 中的關鍵字。理論上bool只占用乙個位元組,如果多個bool變數定義在一起,可能會各佔乙個bit,這取決於編譯器的實現。true代表真值,編譯器內部用1來表示。false代表非真值,編譯器內部...

C 2 C 到 C 的公升級

對比 c 語言中的變數都必須在作用域開始的位置定義 c89 c 編譯器發現程式中需要取 register 變數的位址時,register 對變數的宣告變得無效 早期 c 語言編譯器不會對 進行優化,因此 register 變數是乙個很好的補充。test 1.cpp test 1.c include ...

第2課 C到C 的公升級

本文內容取自於對狄泰學院 唐佐林老師 c 深度解析 課程的學習總結 int c 0 for int i 1 i 3 i 對比 c語言中的變數都必須在作用域開始的位置定義!c語言中,重複定義多個同名的全域性變數是合法的 c 直接拒絕這種二交性的做法 面試中的小問題 int f 與 int f void...