C++ 中 & 和 * 的区别在于:& 取变量地址,将地址存储在指针变量中。解引用指针变量,获取其指向的值。

C++ 中 & 与 * 的区别
简要回答:
& 取变量地址,而 * 解引用地址。
详细解释:
立即学习“C++免费学习笔记(深入)”;
取地址 (&):
-
&运算符用于获取变量的内存地址。 - 将地址存储在另一个变量中,该变量被称为指针变量。
- 指针变量的数据类型必须与被指向的变量的数据类型相同。
例如:
int num = 10; int *ptr = #
上述代码中,ptr 现在指向 num 的内存地址。
解引用地址 (*):
-
*运算符用于解引用指针变量,获取其指向的值。 - 它相当于访问被指向的变量。
- 可以使用
*运算符对指针变量进行读写操作。
例如:
int num = 10; int *ptr = # *ptr = 20;
上述代码中,*ptr 解引用了 ptr,并更改了指向的值,即 num 的值变为 20。
区别总结:
| 操作符 | 用途 |
|---|---|
& |
获取变量地址 |
* |
解引用指针变量,获取指向的值 |
需要注意的是,& 和 * 运算符通常成对使用。使用 & 获取地址,然后使用 * 解引用地址以访问或修改值。











