本節(jié)將講解C語言標(biāo)識符的命名規(guī)則和分類。
1、C語言的標(biāo)識符命名規(guī)則
在C語言中,有許多符號的命名,如變量名、函數(shù)名、數(shù)組名等,都必須遵守一定的規(guī)則,按此規(guī)則命名的符號稱為標(biāo)識符。
合法標(biāo)識符的命名規(guī)則是:
(1)標(biāo)識符可以由字母、數(shù)字和下劃線組成;
(2)第一個字符必須為字母或下劃線;
(3)不能使用C語言的關(guān)鍵字或保留字及庫函數(shù)命名標(biāo)識符。
下面給出的標(biāo)識符是合法的標(biāo)識符:
num1、area、PI、_ini、a_array、a1234、P101p
下面給出一些不符合要求的標(biāo)識符:
456P、cade-y、w.w、a&b、if、main
在C語言的標(biāo)識符中,大寫字母和小寫字母被認(rèn)為是兩個不同的字符,例如page和Page是兩個不同的標(biāo)識符。
對于標(biāo)識符的長度(即一個標(biāo)識符允許的字符個數(shù)),C語言編譯系統(tǒng)是有規(guī)定的,即標(biāo)識符的前若干個字符有效,超過的字符將不被識別。不同的C語言編譯系統(tǒng)所規(guī)定的標(biāo)識符有效長度可能會不同。有些系統(tǒng)允許取較長的名字,讀者在取名時應(yīng)當(dāng)了解所用系統(tǒng)的具體規(guī)定。
2、C語言的標(biāo)識符的分類
C語言的標(biāo)識符主要分為三類:
(1)關(guān)鍵字
C語言已經(jīng)預(yù)先規(guī)定了一批標(biāo)識符,它們在程序中都代表著固定的含義,不能另作他用,這些標(biāo)識符稱為關(guān)鍵字。例如,用來說明變量類型的標(biāo)識符int,double以及if語句中的斌else等都已有專門的用途,它們不能再用作變量名或函數(shù)名。
(2)預(yù)定義標(biāo)識符
所謂預(yù)定義標(biāo)識符是指在C語言中預(yù)先定又并具有特定含義的標(biāo)識符,如C語言提供的庫函數(shù)的名字(如printf)和預(yù)編譯處理命令(如define)等。C語言允許把這類標(biāo)識符重新定義另作他用,但這將使這些標(biāo)識符失去預(yù)先定義的原意。鑒于目前各種計(jì)算機(jī)系統(tǒng)的C語言都一致把這類標(biāo)識符作為固定的庫函數(shù)名或預(yù)編譯處理中的專門命令使用,因此為了避免誤解,建議用戶不要把這些預(yù)定義標(biāo)識符另作他用。
(3)用戶標(biāo)識符
由用戶根據(jù)需要定義的標(biāo)識將稱為用戶標(biāo)識符,又稱自定義標(biāo)識符。用戶標(biāo)識符一般用來給變量、函數(shù)、數(shù)組等命名。程序中使用的用戶標(biāo)識符除要遵守標(biāo)識符命名規(guī)則外,還應(yīng)注意做到“見名知義”。即選擇具有一定含義的英文單詞或漢語拼音作為標(biāo)識符,如numberl、red、yellow、green、work等,以增加程序的可讀性。
如果用戶標(biāo)識符與關(guān)鍵字相同,則在對程序進(jìn)行編譯時系統(tǒng)將給出出錯信息;如果用戶標(biāo)識符與預(yù)定義標(biāo)識符相同,系統(tǒng)并不報(bào)錯,只是該預(yù)定義標(biāo)識符將失去原定含義,代之以用戶確認(rèn)的含義,這樣有可能會引發(fā)一些運(yùn)行時錯誤。
新聞熱點(diǎn)
疑難解答