第161页 | C Primer Plus 中文版 | 阅读 ‧ 电子书库

同步阅读进度,多语言翻译,过滤屏幕蓝光,评论分享,更多完整功能,更好读书体验,试试 阅读 ‧ 电子书库

9.7 指针简介

究竟什么叫做指针?一般来讲,指针是一个其数值为地址的变量(或更一般地说是一个数据对象)。正如char类型的变量用字符作为其数值,而int类型变量的数值是整数,指针变量的数值表示的是地址。指针在C中有很多用途,本章将研究把它作为函数参数的方法和理由。

如果您将某个指针变量命名为ptr,就可以使用如下语句:

对于这个语句,我们称ptr“指向”pooh。ptr和&pooh的区别在于前者为一变量,而后者是一个常量。当然,ptr可以指向任何地方:

这时ptr的值是bah的地址。

要创建一个指针变量,首先需要声明其类型。假设您想把ptr声明为可以存放一个int数值的地址,就需要使用下面介绍的新运算符。让我们来研究这种新运算符。

9.7.1 间接运算符:*

假定ptr指向bah,如下所示:

这时就可以使用间接(indirection)运算符*(也称作取值(dereferencing)运算符)来获取bah中存放的数值(不要把这种一元运算符和表示乘法的二元运算符*相混淆)。

语句ptr=&bah;以及语句val=*ptr;放在一起等同于下面的语句:

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

请支持我们,让我们可以支付服务器费用。
使用微信支付打赏


上一页 · 目录下一页


下载 · 书页 · 阅读 ‧ 电子书库