指针运算符&(Pointer operator &)
优质
小牛编辑
136浏览
2023-12-01
C ++提供了两个指针运算符,它们是(a)运算符地址和(b)间接运算符*。
指针是包含另一个变量的地址的变量,或者您可以说包含另一个变量的地址的变量被称为“指向”另一个变量。 变量可以是任何数据类型,包括对象,结构或指针本身。
这个。 (点)运算符和 - >(箭头)运算符用于引用类,结构和联合的各个成员。
运算符地址
&是一元运算符,返回其操作数的内存地址。 例如,如果var是整数变量,则&var是其地址。 此运算符与其他一元运算符具有相同的优先级和从右到左的关联性。
您应该将&运算符读作"the address of" ,这意味着&var将被读作“var的地址”。
间接算子*
第二个运算符是间接运算符*,它是&的补码。 它是一元运算符,它返回位于其操作数指定的地址的变量的值。
以下程序执行这两个操作
#include <iostream>
using namespace std;
int main () {
int var;
int *ptr;
int val;
var = 3000;
// take the address of var
ptr = &var;
// take the value available at ptr
val = *ptr;
cout << "Value of var :" << var << endl;
cout << "Value of ptr :" << ptr << endl;
cout << "Value of val :" << val << endl;
return 0;
}
编译并执行上述代码时,会产生以下结果 -
Value of var :3000
Value of ptr :0xbff64494
Value of val :3000