例如,後我們定義一個變量:當按名稱引用時,名稱的存儲位置在哪裏?
int a=2;
我們可以用 「a」 作爲2之後。
當我第一次學習c/C++的時候,我認爲這是理所當然的。
但是,當我瞭解到「指針」的概念和變量的地址後,我很困惑。
如果int* p=&i;
,其中「i」是一個int。我知道p有我的地址,所以我們可以用* p來得到i的值。但是如果我們走得更遠,如何訪問「p」?似乎p必須按名稱引用,對吧?
現在,通過它的地址訪問一個變量對我來說更加自然,也更容易理解。
但現在,我對使用最簡單的方法訪問變量時的機制感到困惑。
與int a=2;
的情況一樣,名稱「a」的存儲位置在哪裏?
爲什麼如果我們使用「a」,它相當於訪問存儲「a」或「2」的內存的行爲?
全部編譯完成後,這些符號名稱就沒有任何內容了。它們都被縮減爲內存地址和/或寄存器。變量名稱僅供讀者使用。 – Mysticial 2012-07-31 07:54:35