C,C++和C#中的標(biāo)識(shí)符是什么?

在C,C++,C#和其他編程語(yǔ)言中,標(biāo)識(shí)符是用戶為程序元素(如variable,type,template,class,F(xiàn)UNCE或NASPERACE)分配的名稱。它通常僅限于字母,數(shù)字和下劃線。某些單詞,如"new,""int"and"break,"是保留的關(guān)鍵字,不能用作標(biāo)識(shí)符。標(biāo)識(shí)符用于標(biāo)識(shí)代碼中的程序元素。

計(jì)算機(jī)語(yǔ)言具有可以在標(biāo)識(shí)符中顯示字符的限制。例如,在C和C++語(yǔ)言的早期版本中,標(biāo)識(shí)符被限制為一個(gè)或多個(gè)ASCII字母,數(shù)字(可能不顯示為第一個(gè)字符)和下劃線的序列。這些語(yǔ)言的更高版本支持標(biāo)識(shí)符中的幾乎所有Unicode字符,但白色空格字符和語(yǔ)言運(yùn)算符除外。

您通過(guò)在代碼的前面聲明來(lái)指定標(biāo)識(shí)符。然后,您可以在程序的后面使用該標(biāo)識(shí)符來(lái)引用分配給標(biāo)識(shí)符的值。

14標(biāo)識(shí)符規(guī)則15 16

命名標(biāo)識(shí)符時(shí),請(qǐng)遵循以下既定規(guī)則:

  • 標(biāo)識(shí)符不能是C#關(guān)鍵字。關(guān)鍵字對(duì)編譯器有預(yù)定義的特殊含義。
  • 它不能有兩個(gè)連續(xù)的下劃線。
  • 它可以是數(shù)字,字母,連接器和Unicode字符的貓咪小知識(shí)組合。
  • 它必須以字母或下劃線的字母開(kāi)頭,不是數(shù)字。
  • 它不應(yīng)包含空格。
  • 它不能超過(guò)511個(gè)字符。
  • 必須在引用之前聲明。
  • 兩個(gè)標(biāo)識(shí)符不能有相同的名稱。
  • 標(biāo)識(shí)符區(qū)分大小寫(xiě)。

對(duì)于編譯語(yǔ)言的實(shí)現(xiàn),標(biāo)識(shí)符通常只是編譯時(shí)間實(shí)體。也就是說(shuō),在運(yùn)行時(shí),編譯的程序包含對(duì)內(nèi)存ad的引用服裝和偏移量而不是文本標(biāo)識(shí)符標(biāo)記這些存儲(chǔ)器地址或編譯器已分配給每個(gè)標(biāo)識(shí)符的偏移量。

逐字標(biāo)識(shí)符

將前綴"@"添加到關(guān)鍵字可以將通常保留的關(guān)鍵字用作標(biāo)識(shí)符,該標(biāo)識(shí)符在與其他編程語(yǔ)言接口時(shí)很有用。@不被視為標(biāo)識(shí)符的一部分,因此在某些語(yǔ)言中可能無(wú)法識(shí)別它。這是一個(gè)特殊的指標(biāo),不要將后面的內(nèi)容視為關(guān)鍵字,而是作為標(biāo)識(shí)符。這種類型的標(biāo)識(shí)符稱為逐字標(biāo)識(shí)符。允許使用逐字標(biāo)識(shí)符,但出于風(fēng)格問(wèn)題,強(qiáng)烈建議不要使用。

教育_1