例如,后我们定义一个变量:当按名称引用时,名称的存储位置在哪里?
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