C語言學習筆記1

2021-09-27 04:20:12 字數 1923 閱讀 2429

c語言學習筆記1 2019 9.17

(1). 標準庫,包含pritf

(2). c語言檔案處理過程:

預處理→編譯→彙編→鏈結

(3). 求餘運算中,數值符號等同於被除數,例如:

7%3=1 -7%3=-1 7%-3=1

(4). 檔案命名一般有兩種不是必須的:①駝峰命名:myfirstname ② my_first_ name

(5). 1byte=8bit byte 最小的編址單位

(6). & 取變數地位位址 取4位元組數值,有型別,

指標是有型別的位址,,,型別決定某一位址定址能力,不同型別定址範圍不同,例如int 和short 取8位數,得的數是不一樣的。

(7). 野指標:指標定義後未初始化,指標隨機指向一位址。此位址可能是系統的值,改變會導致崩潰,需要避免野指標。

null指標,實在是需要提前定義指標,可初始化為null,不指向任何位址。

(8). 強行轉化為指標 例:(long long *)&a

(9). 指標運算 考慮數值和型別

例如: 指標+1 加的是sizeof(t)的大小 ,t是此指標的型別,如char int long

(10). 陣列和指標

二維陣列中 a+1 與 a[0]+1 a與a[0]位址相同型別不同。

(11). 陣列名是乙個常量

陣列不同寫法:

a[i]、(a+i)、(i+a)、 i[a]

(12). *p++ 同一優先順序,後置優先順序先與前置 *p 不過++是運算結束後再++

(13). *(a+1)=a[1]

[(a+1)+2]=a[1][2]

(14).int rand()a=rand();//返回隨機數,用幾次就返回幾個數。

srand();//產生不同種子,種子不同產生的隨機數不同。

(15). 定義函式:

返回型別 函式名 引數

宣告在呼叫前,傳值與傳址。

(16). 每次呼叫函式會開闢空間,呼叫後釋放。故必須返回值,傳過去位址的話就無須返回值,位址值不變,內容可變。

(17) 陣列在傳遞過程中,只會傳遞首位址。

(18)遞迴 函式自己呼叫自己

遞迴結構

if (遞迴終止處理)

終止處理

else

func(趨於遞迴終結的條件)

(19)在函式呼叫時,傳遞的引數是實參,常量,變數,表示式

函式定義(宣告)中引數是形參。

(20)小作用域**現於大作用域重名變數時,會遮蔽大作用域變數

(21)大括號外變數,全域性變數

(22)區域性變數 作用域定義開始到大括號結束

全域性變數 作用域定義開始到檔案結束

(23)區域性變數未初始化則為隨機

全域性變數未初始化為0

(24)全域性變數也會如20中一樣面臨遮蔽。

(25)區域性變數的生命週期是所呼叫函式的週期

(26)作用域 空間 生命週期 時間

(27)在main()中區域性變數與全域性變數生命週期相同

(28)修飾符 auto register exterrn static

(29)auto 修飾區域性變數,呼叫時生成,結束後消失,可省略。

總結 :隨用隨開,用完即消,無需記憶

(30)register 修飾區域性變數,將變數放到暫存器中,加快執行速度,暫存器有限,往往被編譯器優化為auto ,不起作用,無需記憶

(31) extern 修飾全域性變數 宣告變數在別的地方定義,程式在其他地方查詢變數定義。

宣告可以多次,定義只可以一次。

(32)static 都可以修飾,靜態變數。 作用:靜態變數只可以初始化一次。

修飾區域性變數,若未初始化,自動初始化為零。

(33)static 修飾全域性變數時,全域性變數變成此單檔案的全域性變數。其他檔案中,可以重新定義初始化此全域性變數,同樣需要用static修飾。

C語言學習筆記(1)

標頭檔案 silence獨家 標頭檔案之間的相互依賴性導致編譯時間的上公升。過度複雜的標頭檔案包含關係,使得編譯頻繁,而且大大增加編譯的時間。1 標頭檔案中適合放置介面的宣告,不適合放置實現 內部使用的函式 注意是內部使用函式 宣告不應該放在標頭檔案中 內部使用的巨集,列舉,結構定義不應該放入標頭檔...

C語言學習筆記1

1 c語言中gets 與scanf 兩個函式的區別 可以用如下兩種方式輸入字串 char string 15 gets string 遇到回車認為輸入結束 scanf s string 遇到空格認為輸入結束 所以在輸入的字串中包含空格時,應該使用gets輸入。2 break 與continue的區別...

C語言學習筆記1

1.任何c語言程式都可以從main函式開始執行,從main函式結束。main 括號裡就是函式輸入,輸出型別由其前面的關鍵字定義 void 是返回型別為空即可以無輸出 當引數改變時輸出也會改變,裡面的內容就是函式體,即怎樣將輸入轉化為輸出。c語言嚴格區分大小寫,且main函式有且僅有乙個 2.h檔案就...