7.7.2 *操作符
*操作符也叫间接访问运算符,用来表示指针所指的变量,结合性为从右到左,属于单目运算。*运算符后跟的必须是指针变量。如果作为左值,则是向指针所指单元中写入数据。如果作为右值,则是从指针所指单元中读数据。格式如下所示。
- *p=常量;
- *p=var;
- var=*p;
第1个式子是直接将常量送入p所指的单元。第2个式子是将变量var的值送入p所指向的单元内。第3个是将指针p所指单元的数据读出赋给为var。
此外,*操作符还有一个很有意思的用法:
- *(&var)=常量;
- *(&var1)=var2;
- var2=*(&var1);
其中,&是取地址操作符,*(&var)就是var本身。这种写法看起来很古怪,但确实是可以使用的。
【示例7-18】 *操作符的使用方法。
- int main(void)
- {
- int *pInt;
- int iVal=100;
- pInt=new int;
- *pInt=iVal;
- cout<<*pInt<<endl;
- *pInt=200;
- iVal=*pInt;
- cout<<iVal<<endl;
- delete pInt;
- pInt=0;
- return 0;
- }
该示例演示*操作符的使用,输出如下所示。
- 100
- 200
注意:指针运算符*和间接访问运算符*不同。前者是类型说明符,表示其后的变量是无符号整数,保存的是地址,一次访问sizeof(type)长度。后者表示间接访问指针所指的单元,用于赋值或取内容。
【责任编辑:
云霞 TEL:(010)68476606】