c語言標(biāo)識符有三類:1、關(guān)鍵字,是由C語言規(guī)定的具有特定意義的字符串,通常也稱為保留字;2、預(yù)定義標(biāo)識符,是系統(tǒng)預(yù)先定義的標(biāo)識符,如函數(shù)庫中的函數(shù)名、宏定義和類型別名;3、用戶定義標(biāo)識符,是用戶根據(jù)需要自己定義的標(biāo)識符,一般用來給變量、函數(shù)、數(shù)組等命名。用戶標(biāo)識符如果與關(guān)鍵字相同,則編譯時會出錯;如果與預(yù)定義標(biāo)識符相同,編譯時不會出錯,但預(yù)定義標(biāo)識符的原意失去了。
php入門到就業(yè)線上直播課:進(jìn)入學(xué)習(xí)
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API調(diào)試工具:點擊使用
本教程操作環(huán)境:windows7系統(tǒng)、c99版本、Dell G3電腦。
在計算機編程語言中,標(biāo)識符是用戶編程時使用的名字,用于給變量、常量、函數(shù)、語句塊等命名,以建立起名稱與使用之間的關(guān)系。標(biāo)識符通常由字母和數(shù)字以及其它字符構(gòu)成。
c語言標(biāo)識符的類型
C語言標(biāo)識符有關(guān)鍵字、用戶標(biāo)識符、預(yù)定義標(biāo)識符三類。C語言規(guī)定,標(biāo)識符只能由字母、數(shù)字和下劃線組成,并且第一個字符必須是字母或下劃線,不能是數(shù)字。
1、關(guān)鍵字(Keywords)
關(guān)鍵字是由C語言規(guī)定的具有特定意義的字符串,通常也稱為保留字,例如 int、char、long、float、unsigned 等。我們定義的標(biāo)識符不能與關(guān)鍵字相同,否則會出現(xiàn)錯誤。
你也可以將關(guān)鍵字理解為具有特殊含義的標(biāo)識符,它們已經(jīng)被系統(tǒng)使用,我們不能再使用了。
標(biāo)準(zhǔn)C語言中一共規(guī)定了32個關(guān)鍵字:
關(guān)鍵字 | 說明 |
---|---|
auto | 聲明自動變量 |
short | 聲明短整型變量或函數(shù) |
int | 聲明整型變量或函數(shù) |
long | 聲明長整型變量或函數(shù) |
float | 聲明浮點型變量或函數(shù) |
double | 聲明雙精度變量或函數(shù) |
char | 聲明字符型變量或函數(shù) |
struct | 聲明結(jié)構(gòu)體變量或函數(shù) |
union | 聲明共用數(shù)據(jù)類型 |
enum | 聲明枚舉類型 |
typedef | 用以給數(shù)據(jù)類型取別名 |
const | 聲明只讀變量 |
unsigned | 聲明無符號類型變量或函數(shù) |
signed | 聲明有符號類型變量或函數(shù) |
extern | 聲明變量是在其他文件正聲明 |
register | 聲明寄存器變量 |
static | 聲明靜態(tài)變量 |
volatile | 說明變量在程序執(zhí)行中可被隱含地改變 |
void | 聲明函數(shù)無返回值或無參數(shù),聲明無類型指針 |
if | 條件語句 |
else | 條件語句否定分支(與 if 連用) |
switch | 用于開關(guān)語句 |
case | 開關(guān)語句分支 |
for | 一種循環(huán)語句 |
do | 循環(huán)語句的循環(huán)體 |
while | 循環(huán)語句的循環(huán)條件 |
goto | 無條件跳轉(zhuǎn)語句 |
continue | 結(jié)束當(dāng)前循環(huán),開始下一輪循環(huán) |
break | 跳出當(dāng)前循環(huán) |
default | 開關(guān)語句中的“其他”分支 |
sizeof | 計算數(shù)據(jù)類型長度 |
return | 子程序返回語句(可以帶參數(shù),也可不帶參數(shù))循環(huán)條件 |
2、預(yù)定義標(biāo)識符
C語言中系統(tǒng)預(yù)先定義的標(biāo)識符,如函數(shù)庫中的函數(shù)名、宏定義和類型別名(typedef)。
預(yù)定義標(biāo)識符具有見字明義的特點,如函數(shù)“格式輸出”(英語全稱加縮寫:printf)、“格式輸入”(英語全稱加縮寫:scanf)、sin、isalnum等等。
預(yù)定義標(biāo)識符可以作為用戶標(biāo)識符使用,只是這樣會失去系統(tǒng)規(guī)定的原意,使用不當(dāng)還會使程序出錯。
注:C語言函數(shù)庫中的函數(shù)名可以成為用戶定義的變量名?。?!
3、用戶定義標(biāo)識符
用戶根據(jù)需要自己定義的標(biāo)識符。一般用來給變量、函數(shù)、數(shù)組等命名。用戶標(biāo)識符如果與關(guān)鍵字相同,則編譯時會出錯;如果與預(yù)定義標(biāo)識符相同,編譯時不會出錯,但預(yù)定義標(biāo)識符的原意失去了,或會導(dǎo)致結(jié)果出錯,因此預(yù)定義標(biāo)識符一般不用來作為用戶標(biāo)識符。
C語言規(guī)定,用戶定義標(biāo)識符可以是字母、數(shù)字、下劃線(A~Z, a~z, 0~9, _)組成的字符串,并且第一個字符必須是字母或下劃線。
(1)標(biāo)識符只能以英文大小寫字母、和下劃線(_)開頭,而不能用其他任何字符或數(shù)字開頭。
例如以下就是錯誤的例子:
int %a;//錯誤,標(biāo)識符不能以符號開頭 int 8C[8];//錯誤,不能以數(shù)字開頭
(2)標(biāo)識符中只能包含英文大小寫字母、下劃線和阿拉伯?dāng)?shù)字,但是不能以阿拉伯?dāng)?shù)字開頭。
int a8;//正確 int _adf589S_5;//正確
(3)標(biāo)識符區(qū)分大小寫
在C語言中,大寫字母和小寫字母被認(rèn)為是不同的字符,所以,ABC與abc表述的標(biāo)識符是不一樣的(Acd和acd、caDd和cadd、_8Fc9和_8fc9都是不相同的標(biāo)識符)。
(4)標(biāo)識符不能是關(guān)鍵字。
int float;//錯誤,float是關(guān)鍵字。 int Float;//正確
(5)ANSI標(biāo)準(zhǔn)規(guī)定,標(biāo)識符可以為任意長度,但外部名必須至少能由前6個字符唯一地區(qū)分,并且不區(qū)分大小寫。這是因為某些編譯程序(如IBM PC的MS C)僅能識別前6個字符。
除了這些硬性規(guī)則外,標(biāo)識符的命名最好具有具體的意義,以便于觀察、閱讀和維護(hù)。
//定義某長方體的長度、寬度和高度 int a;//高度 int b;//寬度 int c;//高度
可以改成如下定義:
int c_Long; int c_Width; int c_Height;