c++中指针访问变量

指针变量与间址访问

能够存放地址值的变量成为指针变量

声明:

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

}

总之:交换指针值改变的是指针的指向,这时用变量名去访问内存单元,变量值是不改变的。

 

 

 

 

 

posted @ 2015-04-10 11:12  sheshihao  阅读(467)  评论(0编辑  收藏  举报