在C/C++中有两个关于指针的运算符:
&运算符:取地址运算符,&m即是变量m在内存中的实际地址。
*运算符:指针运算符 (通常称为间接引用运算符:indirection operator或复引用运算符:dereferencing operator),它返回其操作数(即一个指针)所指向的对象的值.
例:
main()
{
int*p1,*p2,a,b,t; /*定义指针变量与整型变量*/
scanf("%d,%d",&a,&b);
p1=&a; /*使指针变量指向整型变量*/
p2=&b;
if(*p1<*p2)
{ /*交换指针变量指向的整型变量*/
t=*p1;
*p1=*p2;
*p2=t;
}
printf("%d,%d
",a,b);
}
在程序中,当执行赋值操作p1=&a和p2=&b后,指针实实在在地指向了变量a与b,这时引用指针*p1与*p2,就代表了变量a与b。
运行程序:
RUN
3,4
4,3