條件語句:(面試經常使用)面試
while & do...while區別數組
break & continue函數
值傳遞的特色ui
scanf()函數讀取問題指針
數組初始化code
字符串四大函數生命週期
strlen & siseof區別seo
'\0'
'\0'
本身在實現函數時必定要加斷言assert.h中assert();內存
當二維數組爲參數傳遞的時候必須指定全部維數的大小或者省略第一維,可是不能省略第二維或更高維的大小作用域
指針
注意:
不管何種類型的指針,它的sizeof的大小都是4;注意:
在任什麼時候候,一個指針變量只能指向一個地址值,也就是說只能指向一個數據注意:
指針常量是const修飾在前,做爲在指針上,效果爲指針不可改變地址,卻能夠修改指向的地址內的值注意:
常量指針是const修飾在類型以後,做用在指向的內存值上,效果爲指針可變地址,卻不能夠修改地址內的值棧&堆
static做用
結構體&枚舉&聯合體
//總體爲4字節,緣由在於指針 typedef struct student { int id; //佔位4字節 char name[20];//佔位20字節 }*STU;//別名是指針4個字節
//總體爲全部成員佔位之和 typedef struct student { int id; //佔位4字節 char name[20];//佔位20字節 }STU;
//枚舉類型大小始終爲4字節,(猜測:可能性爲枚舉在運算過程當中返回的值爲int類型且只返回一個有關) //枚舉內元素初始化賦值,但初始化後,後一個元素的下標值取決在於前一個下標的基礎上遞增1 //枚舉內元素若是未初始化,哪麼默認的下標從0開始,能夠把枚舉當成一個另類數組 //枚舉內元素分隔與數組同樣,惟一不一樣的是能夠給元素賦值 //右大括號後也同數組同樣用分號結束 enum time{A,B,C};//枚舉 int array{1,2,3,4};//數組 //自行體會類似處
//共用體大小取決於成員最大值 union Lian{ int id; char name[20]; }; union Lian test; test.id = 10; strcpy(test.name,"TEST"); printf("%d",test.id);//這個會輸出異常 printf("%s",test.name);//這個正常輸出 //================================= test.id = 10; printf("%d",test.id);//正常輸出 strcpy(test.name,"TEST"); printf("%s",test.name);//正常輸出 //猜測
typedef&define
#define true 1 #define false 0 #define uint unsigned