在定義變量時,變量名可以是字母、數字和下劃線的組合。但是也不是隨便的組合,要注意以下幾個命名規則:
1)變量名的開頭必須是字母或下劃線,不能是數字。實際編程中最常用的是以字母開頭,而以下劃線開頭的變量名是系統專用的。
隨便打開一個頭文件就會看到,它里面所有的變量名、宏名、函數名全是以下劃線開始的。
打開VC++6.0或者VS2010等,然后在里面隨便寫一個頭文件名,比如stdio.h,然后選中它,右擊,在彈出的快捷菜單中單擊OpenDocument"stdio.h"就打開stdio.h這個頭文件了。這時需要注意的是,打開后千萬不要改動里面的內容,看看就行了。
所以為了避免與系統定義的名字產生沖突,在編程的時候,除非要求這么定義,否則永遠都不要使用下劃線作為一個變量名的開頭。
2)變量名中的字母是區分大小寫的。比如a和A是不同的變量名,num和Num也是不同的變量名。
3)變量名絕對不可以是C語言關鍵字,這一點一定要記住!
4)變量名中不能有空格。這個可以這樣理解:因為上面我們說過,變量名是字母、數字、下劃線的組合,沒有空格這一項。
命名規范
以上變量命名規則是C語言語法規定的,必須遵守,不遵守就是錯的。除此以外,在實際開發中程序員還形成了一種變量命名“習慣”,或者說是約定成俗的變量命名規范,它們雖然不受語法的約束,但是遵守這些“事實標準”會讓代碼更加專業,更加高大上。
1)禁止取單個字母作為變量名(如a、b、c、d、i、j、k、m、n……)。在前面的講解中之所以用單個字母,只是為了方便講解,以免喧賓奪主。剛開始學的時候也可以用,但是不要永遠就只會用單個字母。
那為什么不要定義成單個字母呢?原因很簡單——沒有含義!你定義變量a,其他人怎么知道這個a是什么意思?就算有注釋,但難免會忘記。
所以在定義變量的時候,變量名最好要有明確的含義,這樣可以提高代碼的可讀性。不管是自己寫程序,還是別人讀你的程序,都會很舒服。
在實際編程中經常用英文單詞或英文單詞的縮寫來作為變量名,而且縮寫也有一定要規則:
通常較短的單詞可通過去掉“元音”形成縮寫,比如表示“個數”的count可以縮寫成cnt;
較長的單詞可取單詞中的幾個字母形成縮寫;
對于一些單詞還有大家公認的縮寫,比如:
temp可縮寫為tmp;//temp是“臨時”的意思
flag可縮寫為flg;//flag是“標志位”的意思
statistic可縮寫為stat;//statistic是“統計”的意思
increment可縮寫為inc;
message可縮寫為msg;
如果變量名由多個單詞組成而且不用縮寫,那么每個單詞的首字母全部都要用大寫,必要時可用下劃線分隔。
2)但并不是說就絕對不可以用單個字母,有些變量它本身就是沒有含義,我們也不能硬生生給它賦予含義,這時候就可以用單個字母。比如后面學習循環語句的時候,里面有一個循環變量,它就是定義成i、j、k,這已經是公認的了。
但大多數情況下,在編程的時候變量都是有含義的,這時候就應該用英文單詞或英文單詞的縮寫作為它的名字。
很簡單的,變量由字母數字和下劃線構成第一個字符不能為數字然后就是不能為系統關鍵字,如int等