【发布时间】:2019-04-08 02:32:35
【问题描述】:
我阅读了有关 int* 和 int& 的教程。首先,我输入
int a = 3
然后,
int* x = &a;
表示x 是一个指向地址 a 的指针,这意味着x 的VALUE 是 POINTS到a的地址。正确的?
但如果我这样做了
int& x = a;
这意味着 x 的地址指向 a 的值,对吗?还是意味着不同的东西? EXACLTY 是什么意思?
【问题讨论】:
-
使用单个反引号突出显示代码,如下所示:`int a = 3` 变为
int a = 3 -
将引用视为被引用变量的别名。引用是被引用的变量,只是名称不同。
-
指针指向事物,而不是事物的地址。所以
x是一个指向a的指针,即x的值就是a的地址。 -
@Pete Becker 我们将 &a 分配给 'int* x' 这一事实表明 x 的值是指向 &a 的指针,在这种情况下,&a 是 a 的地址,而不是一个。
-
@Python_Beginner --
&a是a的地址。将该值存储在指针中会将指针设置为该值,就像int i = 3;将 3 存储在i中一样。