在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\n",a,b);
}
在程式中,當執行賦值操作p1=&a和p2=&b後,指針實實在在地指向了變數a與b,這時引用指針*p1與*p2,就代表了變數a與b。
運行程式:
RUN
3,4
4,3