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];
`