C語言中文網 目錄
首頁 > 編程筆記 > C語言筆記 閱讀:19,915

C語言變量命名規則

在定義變量時,變量名可以是字母、數字和下劃線的組合。但是也不是隨便的組合,要注意以下幾個命名規則:

1) 變量名的開頭必須是字母或下劃線,不能是數字。實際編程中最常用的是以字母開頭,而以下劃線開頭的變量名是系統專用的。

隨便打開一個頭文件就會看到,它里面所有的變量名、宏名、函數名全是以下劃線開始的。
打開 VC++ 6.0 或者 VS 2010 等,然后在里面隨便寫一個頭文件名,比如 stdio.h,然后選中它,右擊,在彈出的快捷菜單中單擊Open Document"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,這已經是公認的了。

但大多數情況下,在編程的時候變量都是有含義的,這時候就應該用英文單詞或英文單詞的縮寫作為它的名字。

精美而實用的網站,提供C語言C++STLLinuxShellJavaGo語言等教程,以及socketGCCviSwing設計模式JSP等專題。

Copyright ?2011-2018 biancheng.net, 陜ICP備15000209號

底部Logo