前言:
爲了方便查看博客,特意申請了一個公衆號,附上二維碼,有興趣的朋友可以關注,和我一起討論學習,一起享受技術,一起成長。
1. 基本數據類型
基本類型:short,int,long,char,float,double 這六個關鍵字是 C 語言裏 6 種基本數據類型。
一般情況下,不同的數據類型佔用的內存情況如下表:針對 32 系統,不同的平臺還需具體測試一下(使用 sizeof測試)。
數據類型 | 佔用內存大小 |
---|---|
short | 2 byte |
int | 4 byte |
long | 4 byte |
float | 4 byte |
double | 8 byte |
char | 1 byte |
2. 變量的命名規則
2.1 一般規則
(1)命名應該直觀可讀,可望文生義,便於理解記憶。標識符一般用英語單詞或其組合。
(2)命名長度應該符合“min-Length && max-Information”原則。
eg:變量名 MaxVal。
標識符一般不要過長,較長的單詞可通過去掉“元音”形成縮寫。英文單詞儘量不縮寫,如果有縮寫,要註明意思。
(3)當標識符由多個單詞組成時,沒個詞的第一個字母大寫,其餘小寫。
eg:int CurrentVal;
(4)儘量避免命名名字中出現數字,如Value1,Value2等,除非邏輯上需要編號。
eg:驅動開發時管腳的命名。
(5)對在多個文件之間共同使用的全局變量或函數要加規範限定符(建議使用模塊的縮寫作爲限定符)。(GUI_等)
(6)標識符命名規則
標識符的命名分爲兩部分:規範標識符前綴(後綴)+ 含義標識。非全局變量可以不使用範圍限定標識符。
(7)作用域前綴命名規則
編號 | 標識符類型 | 作用域前綴 |
---|---|---|
1 | Global Variable | g |
2 | File Static Variable(native) | n |
3 | Function Static Varibable | f |
4 | Auto Variable | a |
5 | Global Function | g |
6 | Static Function | n |
(8)數據類型前綴命名規則
編號 | 前綴 | 後綴 | 數據類型 | 舉例 | 備註 |
---|---|---|---|---|---|
1 | bt | bit | Bit btVariable | ||
2 | b | boolean | boolean bVariable | ||
3 | c | char | char cVariable | ||
4 | i | int | int iVariable | ||
5 | s | shrot[int] | shrot[int] Variable | ||
6 | l | long[int] | long[int] lVariable | ||
7 | u | unsigned[int] | unsigned[int] uiVariable | ||
8 | d | duoble | double dVariable | ||
9 | f | float | float fVariable | ||
10 | p | pointer | void *vpVariable | 指針前綴 | |
11 | v | void | void vVariable | ||
12 | st | enum | enum A stVariable | ||
13 | st | struct | struct A stVariable | ||
14 | st | union | union A stVariable | ||
15 | fp | function point | void (*fpGetModeFuncList_a[])(void) | ||
16 | _a | array of | char cVariable_a[TABLE_MAX] | ||
17 | _st | typedef enum/struct/union | typedef struct SM_EventOpt{unsigned char;unsigned in;char}SM_EventOpt_st,*SM-EventOpt_pst; | 當定義結構數據類型時使用_st後綴;當定義結構類型爲指針類型時使用_pst後綴 |
(9)含義標識命名規則:變量名使用名詞性詞組,函數名使用動詞性詞組。
編號 | 變量名 | 目標詞 | 動詞 | 狀語 | 目的地 | 含義 |
---|---|---|---|---|---|---|
1 | DataGotFromSD | Data | Got/Get | From | SD | 從SD中取得數據 |
2 | DataDeletedFromSD | Data | Deleted/Delete | From | SD | 從SD中刪除數據 |
變量含義:目標詞+動詞(過去分詞)+狀語+目的地;
(10)程序中不得出現僅靠大小寫區分的相似標識符。
eg:int x,X;
(11)一個函數名禁止被用於其他處。
(12)所有宏定義,枚舉常數,只讀變量全部用大寫字母命名,用下劃線分割單詞。
eg:
const int MAX_LENGTH = 100;
#define FILE_PATH “/usr/tmp”
(13)考慮到習慣問題,局部變量中可採用通用的命名方式,僅限於n,i,j等作爲循環變量使用。
(14)定義變量時不要忘記了初始化。定義變量時編譯器並不一定清空這塊內存,它的值可能是無效的數據。
(15)不同數據類型之間的運算要注意精度擴展的問題,一般低精度數據向高精度數據擴展。