簡體   English   中英

C語言中的本地和外部變量命名約定

[英]Local and external variable naming conventions in C

我通常是學習使用C語言進行編程的Java程序員。現在,在Kernighan和Ritchie的書的第2章中,所寫的內容就是這樣。

內部名稱的至少前31個字符有效。 對於函數名稱和外部變量,該數字可能少於31,因為外部名稱可能被語言無法控制的匯編器和加載器使用。 對於外部名稱,該標准保證6個字符和一個大小寫的唯一性。

但是后來他們寫

我們傾向於將名稱用於局部變量,尤其是循環索引,而將名稱用於外部變量。

是不是應該做的完全相反。 雖然我了解我們不希望索引使用冗長的描述性變量名稱,但是以上兩個句子是否彼此矛盾?

K&R書從未更新到最新標准,例如C99和當前的C11。 外部標識符的限制已提高到31個字符。 根據C11§5.2.4.1/ p1:

—外部標識符中的31個有效初始字符(每個指定短標識符0000FFFF或更少的通用字符名稱被認為是6個字符,每個指定短標識符00010000或更大的通用字符名稱被認為是10個字符,每個擴展源字符是被認為與相應通用字符名稱相同的字符數)19)

此外,即使C89標准建議盡可能消除任意限制。 5.2.4.1中的注釋說:

實現應盡可能避免施加固定的翻譯限制。

盡管注釋僅提供信息,但顯然是實現者允許使用更長標識符的提示。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM