天天看點

C語言知識點總結

1.c包括三種流程控制:順序、循環、選擇。

2. break語句通常用于跳出switch、do-while、for、while等循環語句,不能用于跳出if語句。

continue:跳出此次循環,繼續執行下一次循環

return 終止函數或者終止函數向主調函數傳回一個值;

3. 數組 a[N] = {N};

4.c語言的基本機關是函數;

5.在工程檔案中局部變量會屏蔽全局變量;

6.記憶體:一個位元組=8個位(0000,1111)

7. int* p; 變量名p,裡邊存放的是位址編号;int* 是資料類型,表示變量P是存放int類型變量的位址的一個指針變量;

所謂指針,就是指記憶體位址。位址是記憶體單元的編号,是從0開始的整數,範圍0~4G。(位址總線32位,pow(2,32)=4G).

1k=1024b; 1M=1024b; 1G=1024M;

8.&取位址符,一般int i; 則 p =&i; p表示一個存放位址的變量,i是一個int變量;

9.p =i是對的:p是以p内容為位址的那個變量,就是i;

10.野指針:指向了同一記憶體的不同指針,隻釋放一次即可,重複釋放就報錯。

free後,申請記憶體的那個指針就會變成野指針,聲明了,但是沒有任何指向,p=NULL;

11.實參和形參是不同的變量。

sizeof(變量名)=變量位元組數;

sizeof(資料類型)=資料類型位元組數 ;

硬體記憶體裡,位址要4個位元組來存放(32位系統,64位是8個位元組)。

12.動态記憶體配置設定:malloc();realloc()補充配置設定記憶體;

13. int* p = (int) malloc(4);p是位址占4個位元組,p指向的變量配置設定4個位元組,一共占了8個位元組;

14.多級指針:

int p =&i; -> p的類型是int(存放int類型變量的位址);

intq = &p; -> q的類型是int(存放int類型變量的位址);

使用指針的優點: 内容少,速度快!

15.枚舉:一種資料類型,本質上将變量替換成了實際意義,代碼更安全。

16.邏輯運算

&&邏輯與; ||邏輯或

& 按位與; | 按位或; ~ 按位取反;^ 按位異或

17. 結構體數組:定義

struct student{

int xh;

char *name;

char *sex;

}stu[30];

定義了一個結構體數組stu,共有30個元素,stu[0]--stu[29];

每個stu[]元素都是struct student類型

點操作符引用:

` struct student{

char name[];

}stu[4];

`

繼續閱讀