原问题:
对于int a =10 ;这样的赋值语句,请问这个a是他的地址吗,还是内存中有一个值10,然后他对应于一个地址,然后a指向这个地址?
修改后问题:
对于 int a=10;
这样的赋值语句,请问一下这个a
在程序的执行过程中,是怎么绑定的?以我们人的看法自然是知道这个a
是一个变量,当前a
变量存储了10,但是本身这个a
需要存储吗?是否这个a
又是表示一个地址?
对于int a =10 ;这样的赋值语句,请问这个a是他的地址吗,还是内存中有一个值10,然后他对应于一个地址,然后a指向这个地址?
对于 int a=10;
这样的赋值语句,请问一下这个a
在程序的执行过程中,是怎么绑定的?以我们人的看法自然是知道这个a
是一个变量,当前a
变量存储了10,但是本身这个a
需要存储吗?是否这个a
又是表示一个地址?
其实完整的,这个语句完成了2项工作
所以
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答1.6k 阅读✓ 已解决
你混淆了语义和具体的实现,你说的内存中有个地方存10之类的说法,是这条语句在冯诺依曼体系下的一种具体的物理实现方式。但在C++的语义层面来说,这条语句仅仅说明a是一个变量,它的值是10。&a则是a的地址,通过解引用这个地址能够获取a的值,因此a和*&a都能返回10。