C的幾點知識點總結

2021-07-29 15:44:06 字數 1008 閱讀 8791

1. ++i1和i++的效率分析;

想必前加和後加,日常程式設計會用到很多,但你是否考慮過他們的效率比較,在for 迴圈中也常常用到自加。

int increment()

這段**就是編譯器的實現前加加的函式;

可以腦補,後加加函式必須控制變數在遇到「;」或「,」才會自加,需要的**步驟更多;

所以前加加的效率更高,在特別要求效率的情況但對自加時間沒限制下,使用前加加是最好的了。

2. 函式返回返回值的過程詳解;

呼叫函式會在後大括號即「}」時釋放所有的形參變數的空間,如果函式有返回值,其實此時系統會將返回值拷貝於一用於放返回值的空間中,再將此值賦值於主調函式的變數。

但需要強調的是有的編譯器為提高效率,不會這樣做,會直接賦值於主調函式變數。

3. 函式傳遞陣列時用法解釋;

int ar = ;

int max_value = max_value(ar, n);

int min_value = min_value(ar, n);

如上的**所示,在呼叫函式穿遞陣列時傳遞的是陣列名;

intmax_vealu(int ar, int n);

而這段**便是max_vealu

函式的定義,可以看出,接收時需註明陣列型別;其實陣列名便是陣列第乙個位元組空間的指標,函式的傳值是值傳遞,將此指標值傳遞給形參。

注意陣列函式傳遞的具體寫法,不要犯錯。

4. 補碼;

不論正數負數在計算機記憶體中都是以補碼的方式儲存,正數的補碼還是自己,但負數不是,在32位作業系統int申請四位元組空間,可以儲存的最大值是2147483647(2的31次方減一),在編譯中對最大值加一的結果是-2147483648;這是因為發生了溢位。

2147483647在記憶體中是0111 1111 1111 1111 1111 1111 1111 1111,加一後是1000 0000 0000 0000 0000 0000 0000 0000,

此時符號位是1,被解釋為乙個負數的補碼,還原成原碼便是-2147483648.

C的幾點易錯點,知識點梳理

c的幾點易錯點,知識點梳理 a.struct test int a int b 這是自己定義了乙個結構體。b.struct test int a int b test 這是自己定義了乙個結構體的同時,還申請了乙個結構體變數,名字是 test。c.typedef truct test int a in...

流程控制語句和方法的幾點知識點總結

控制語句分為三類 順序,選擇,迴圈 一 條件判斷結構 選擇語句 1 if 語句 2 if else 3 if else if else 測試多選擇結構 author 孫檬 public class testifelseifelse else if age 25 else if age 45 else...

DTcms 知識點 知識點繳獲

name url配置的 名稱 key,唯一標識 path url重寫後的位址 pattern url重寫的正規表示式 page 源頁面真實名稱 querystring 傳輸的引數 1,2,3 templet 對應的模板檔案的名稱 channel 所屬頻道的id,不是頻道請為0 type 該頁面的型別...