一个变量对应于内存中的一个单元(我们称之为对象)。一个对象由地址(对象在内存中的位置),类型(可以存储的数据类型),值组成。一个具名的对象称为变量,我们可以用变量名直接引用一个对象。当然你也可以用对象的地址引用这个对象,可是,我们如何知道它的地址呢?地址“指向”了一个内存单元,我们形象地称之为指针。一个存有地址(指针)的变量,我们称之为指针变量(一般简称指针)。于是,我们可以用指针引用一个对象,而不是用变量名。比如 int my_int = 0;我们定义了一个名为my_int的变量,它对应了一个int类的内存对象,其中存有值0。我们可以直接用My_int引用这个对象,获得它的值。也可以定义一个指针int* point = &my_int(int*表示一个指向int的指针,&my_int表示取my_int的地址),于是我们获得了一个指向my_int对象的指针。我们可以通过这个指针引用my_int对象:比如 if (my_int == *point) cout << "equal" << flush; *point表示取point所指对象的值,这里即my_int的值0。如果你写if (my_int == point )编译器就会报错,因为my_int是一个整形变量,point是一个地址,两都无法比较。以上是指针的概念和基本用法,指针的作用你会随着学习的深入而知道的,我就不再说了,免得把你弄糊涂了。
#iinclude<iostream.h>void main(){int a,b; int *p1,*p2,*p; p1=&a; p2=&b; cout<<"input 2 number"; cin>>a>>b; if(a<b) { p=p1; p1=p2; p2=p; } cout<<*p1<<'\t'<<*p2<<endl; cout<<a<<'\t'<<b<<endl;}若输入是4 6结果为:6 4 4 6