标签:
指针变量与间址访问
能够存放地址值的变量成为指针变量
声明:
int *p;//在变量说明语句中,*是表示指针类型,也就是用来说明p是存放地址的变量
int a=10;
p=&a;
cout<<*p;//还是输出10;这里的*在地址值之前,是指针运算符
这里有个要注意的地方:交换指针变量的值与交换指针变量指向单元的值的区别
#include<iostream>
using namespace std;
int main(){
long int a=10,b=20,temp;
long int *p1=&a,*p2=&b,*pt;
temp=*p1;*p1=*p2;*p2=*p1;//交换变量值
cout<<"a:"<<a<<";"<<"b:"<<b<<endl;//这时,a的值是20,b的值是10
pt=p1;p1=p2;p2=pt;//交换指针值,即改变指向
cout<<"a:"<<a<<";"<<"b:"<<b<<endl;//这时,a的值是20,b的值是10
}
总之:交换指针值改变的是指针的指向,这时用变量名去访问内存单元,变量值是不改变的。
标签:
原文地址:http://www.cnblogs.com/sheshihao/p/4414020.html