当前位置:嗨网首页>书籍在线阅读

32-间接运算符

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

9.7.1 间接运算符:*

假设已知 ptr 指向 bah ,如下所示:

ptr = &bah;

然后使用间接运算符(indirection operator)找出存储在 bah 中的值,该运算符有时也称为解引用运算符(dereferencing operator)。不要把间接运算符和二元乘法运算符()混淆,虽然它们使用的符号相同,但语法功能不同。

val = *ptr; // 找出ptr指向的值

语句 ptr = &bah;val = * ptr; 放在一起相当于下面的语句:

val = bah;

由此可见,使用地址和间接运算符可以间接完成上面这条语句的功能,这也是“间接运算符”名称的由来。

小结:与指针相关的运算符

地址运算符:&

一般注解:

后跟一个变量名时, & 给出该变量的地址。

示例:

&nurse 表示变量 nurse 的地址。

**间接(或解引用)运算符:***

一般注解:

后跟一个指针名或地址时,*给出存储在指针指向地址上的值。

示例:

nurse = 22;
ptr = &nurse;  // 指向nurse的指针
val = *ptr;    // 把ptr指向的地址上的值赋给val

执行以上3条语句的最终结果是把22赋给 val