C++ 指针运算符

C++ 指针运算符

C++ 提供了两个指针运算符,它们是 (a) 取地址运算符 & 和 (b) 解引用运算符 *

指针是一个变量,它包含另一个变量的地址,或者可以说包含另一个变量地址的变量被称为 “指向” 另一个变量。一个变量可以是任何数据类型,包括对象、结构体或指针本身。

. (点) 运算符和 -> (箭头) 运算符用于引用类、结构体和联合体的各个成员。

取地址运算符 &

& 是一个一元运算符,它返回它的操作数的内存地址。例如,如果 var 是一个整数变量,那么 &var 就是它的地址。该运算符与其他一元运算符具有相同的优先级和从右到左的结合性。

你应该将 & 运算符读做 "的地址" 这意味着 &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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程