- C++ 基础
- C++ 首页
- C++ 概述
- C++ 环境设置
- C++ 基本语法
- C++ 注释
- C++ Hello World
- C++ 省略命名空间
- C++ 常量/字面量
- C++ 关键字
- C++ 标识符
- C++ 数据类型
- C++ 数值数据类型
- C++ 字符数据类型
- C++ 布尔数据类型
- C++ 变量类型
- C++ 变量作用域
- C++ 多个变量
- C++ 基本输入/输出
- C++ 修饰符类型
- C++ 存储类
- C++ 运算符
- C++ 数字
- C++ 枚举
- C++ 引用
- C++ 日期与时间
- C++ 控制语句
- C++ 决策制定
- C++ if 语句
- C++ if else 语句
- C++ 嵌套 if 语句
- C++ switch 语句
- C++ 嵌套 switch 语句
- C++ 循环类型
- C++ while 循环
- C++ for 循环
- C++ do while 循环
- C++ foreach 循环
- C++ 嵌套循环
- C++ break 语句
- C++ continue 语句
- C++ goto 语句
- C++ 构造函数
- C++ 构造函数与析构函数
- 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
cpp_operators.htm
广告