當前位置:才華齋>計算機>C語言>

C語言變數的命名規則

C語言 閱讀(2.58W)

C語言是一門通用計算機程式語言,應用廣泛。下面小編整理了C語言變數的命名規則,希望對大家有幫助!

C語言變數的命名規則

1)命名應當直觀且可以拼讀,可望文知意,便於記憶和閱讀。

識別符號最好採用英文單詞或其組合,不允許使用拼音。程式中的英文單詞一般不要太複雜,用詞應當準確。

2)命名的長度應當符合“min-length && max-information”原則。

C 是一種簡潔的語言, 命名也應該是簡潔的。例如變數名MaxVal 就比MaxValueUntilOverflow 好用。識別符號的長度一般不要過長,較長的單詞可通過去掉“母音”形成縮寫。另外,英文詞儘量不縮寫,特別是非常用專業名詞,如果有縮寫,在同一系統中對同一單詞必須使用相同的`表示法,並且註明其意思。

3)當識別符號由多個片語成時,每個詞的第一個字母大寫,其餘全部小寫。

比如: int CurrentVal;

這樣的名字看起來比較清晰,遠比一長串字元好得多。

4)儘量避免名字中出現數字編號,如Value1,Value2 等,除非邏輯上的確需要編號。比如驅動開發時為管腳命名,非編號名字反而不好。

初學者總是喜歡用帶編號的變數名或函式名,這樣子看上去很簡單方便,但其實是一顆顆定時炸彈。這個習慣初學者一定要改過來。

5)對在多個檔案之間共同使用的全域性變數或函式要加範圍限定符(建議使用模組名(縮寫)作為範圍限定符)。

6)識別符號名分為兩部分:規範識別符號字首(字尾) + 含義標識。非全域性變數可以不用使用範圍限定符字首。

7)含義標識命名規則,變數命名使用名詞性片語,函式命名使用動詞性片語。

變數含義識別符號構成:目標詞+ 動詞(的過去分詞)+ [狀語] + [目的地];

8)程式中不得出現僅靠大小寫區分的相似的識別符號。

例如:

int x, X; 變數x 與X 容易混淆

void foo(int x); 函式foo 與FOO 容易混淆

void FOO(float x);

這裡還有一個要特別注意的就是1(數字1)和l(小寫字母l)之間,0(數字0)和o(小寫字母o)之間的區別。這兩對真是很難區分的,我曾經的一個同事就被這個問題折騰了一次。

9)一個函式名禁止被用於其它之處。例如:

#include "c_standards.h"

void foo(int p_1)

{

int x = p_1;

}

void static_p(void)

{

int foo = 1u;

}

10)所有巨集定義、列舉常數、只讀變數全用大寫字母命名,用下劃線分割單詞。例如:

const int MAX_LENGTH = 100; //這不是常量,而是一個只讀變數,具體請往後看

#define FILE_PATH “/usr/tmp”

11)考慮到習慣性問題,區域性變數中可採用通用的命名方式,僅限於n、i、j 等作為迴圈變數使用。

一定不要寫出如下這樣的程式碼:

int p;

char i;

int c;

char * a;

一般來說習慣上用n,m,i,j,k 等表示int 型別的變數;c,ch 等表示字元型別變數;a 等表示陣列;p 等表示指標。當然這僅僅是一般習慣,除了i,j,k 等可以用來表示迴圈變數外,別的字元變數名儘量不要使用。

12)定義變數的同時千萬千萬別忘了初始化。定義變數時編譯器並不一定清空了這塊記憶體,它的值可能是無效的資料。這個問題在記憶體管理那章有非常詳細的討論,請參看。

13)不同型別資料之間的運算要注意精度擴充套件問題,一般低精度資料將向高精度資料擴充套件。