C 學習心得(1)

2021-08-28 05:24:38 字數 864 閱讀 2539

一、不借助臨時變數實現a,b互換

a=a+b;

b=a-b;

a=a-b;

上述**第一句存在溢位風險。

a=a^b;

b=b^a;

a=a^b;

通過位運算實現a,b互換最佳。一次異或讓對應相同二進位制位輸出0,不同二進位制位輸出1,則三次異或可以交換a,b的值。

二、 標頭檔案裡尖括號<>和雙引號「」的區別

尖括號<>表明這個檔案是乙個工程或者標準標頭檔案,查詢首先檢查預定義目錄。

雙引號「」表明是使用者提供的標頭檔案,查詢優先從當前檔案目錄中尋找,然後在標準位置尋找檔案。

由此我們可以看出雙引號標頭檔案查詢區間大於等於尖括號標頭檔案查詢區間。

三、c++main函式執行後還執行什麼

函式退出時需要釋放資源,例如main()函式執行結束後,用exit()結束程式,使用者用ctrl+c來發訊號終止程式等。

因此,需要一種與程式退出方式無關的方法來進行程式退出的處理,用atexit()函式來註冊程式終止時要被呼叫的函式。

atexit()函式的引數是乙個函式指標,函式指標指向乙個沒有引數也沒有返回值的函式。函式原型如下:

int atexit(void(*)(void));
乙個程式最多可以用atexit()註冊32個函式,這些函式呼叫順序與註冊的順序相反,即最先註冊的最後呼叫,最後註冊的最先呼叫。

四、c++域操作符

main()函式裡區域性變數引用優先,但是可以通過域操作符「::」直接操作全域性變數。

C 學習心得

c 學習心得 c 是最難的語言 這個世界上最難的程式語言可能非 c 莫屬了。你千萬 不要以為 幾天就可以學好 c c 的學習曲線是相當 bt的,你可以看看 這篇文章 c 是一門很自由的語言,自由到了有點 bt和恐怖的地步 我甚至 認為c 並不是一門成熟的程式語言,因為太容易犯錯了。所以,你一定要在 ...

c 學習心得

1.typedef struct 結構體型別 c 提供了許多種基本的 資料型別 如int float double char等 供使用者使用。但是由於程式需要處理的問題往往比較複雜,而且呈多樣化,已有的 資料型別 顯得不能滿足使用要求。因此c 允許使用者根據需要自己宣告一些型別,使用者可以自己宣告的...

C 學習心得

我是乙個轉專業到計算機行業的,系統學習c 大概有兩年了,其中走了很多彎路,也陷入很多次迷茫,最近有一些新的感受,所以想總結下來,我所認為的學習一門語言所需要經歷的階段。當你覺得已經掌握大部分的語法知識後 60 以上 可以去看一些簡單專案的源 一方面學習別人解決問題的方式,另一方面是加深語法知識的印象...