根據 C ISO 草案(2020)6.1(基礎):
甲名稱是一個使用的識別符號(5.10),操作員功能-ID(12.6), 文字的操作員-ID(12.6.8),轉換功能-ID(11.4.7.2),或 模板id(13.3)表示物體或標簽(8.7.5、8.2)。
每個表示物體的名稱都由宣告引入。每個表示標簽的名稱都由 goto 陳述句 (8.7.5) 或標記陳述句(8.2)引入。
甲變數是由比非靜態資料成員或物件的其他的基準的宣告引入。變數的名稱(如果有)表示參考或物件
甲名稱可表示一個物體,所以它可以表示一個物件,并通過在這種情況下,宣告引入。甲變數可通過物件的宣告被引入,并且在這種情況下表示該物件。如果我沒有誤解,名稱和變數的定義看起來非常相似。名稱和變數有什么區別?(特別是在有交集的情況下,例如當它們表示一個物件時)
uj5u.com熱心網友回復:
名稱和變數有什??么區別?
最明顯的(基于您的第一個參考)區別在于名稱比變數更通用。每個變數都有一個名稱,但并非每個名稱都是一個變數。還有函式、類、運算子和模板的名稱。(這并不是一個完整的串列。)
不太明顯的是,名稱比變數更具體,因為變數的名稱只是變數的一個方面。我認為您的困惑來自這樣一個事實,即變數的名稱必須與變數本身(您的第二個和第三個引號)同時引入,并且它們同時超出范圍。兩者沒有時間上的分離。
(特別是在有交集的情況下,例如當它們表示一個物件時)
我認為這有點哲學。我們來看一個類似的情況:你的名字和你自己有什么區別?你不僅僅是一個名字嗎?然而,為了識別您的身份,其他人會使用您的名字。
變數沒有什么不同。一個變數有一個名字。該名稱用于參考變數,通常被視為變數。然而,變數不僅僅是一個名字;它還有一個型別和一個值。名稱本質上并不決定型別和值,但為了方便起見,在談論代碼時經常這樣使用。(在絕大多數情況下,這并不是一件壞事。)
uj5u.com熱心網友回復:
我會說一個變數有兩個東西:一個名字和一個值。
就名稱而言:變數可以有名稱,也可以有函式、類、...
所以變數是一個元素,屬于 C 世界(以及許多其他編程語言)。
名稱是許多元素的屬性,例如變數,但也是其他元素。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/317128.html
