当前位置: 首页 > 文档资料 > C++ 中文教程 >

指针运算符&(Pointer operator &)

优质
小牛编辑
133浏览
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