首先,我们需要明确,指针变量与其他变量的主要区别。
举个例子:
int *p,a;
p=&a;
这是一个最简单的指针指向(在*p中存放a的地址),指针变量与变量的区别在代码上的区别基本上只是一个“*”,值得注意的是,指针变量只能指向同种变量,(如int*指向int,char*指向char)
且,指针中只能存放地址,若出现
*p=100;//将整数赋予指针
则不合法
而如果指针变量中事先存放了某变量的地址,如:
int *p,a;
p=&a;
*p=100;
则会将整数100放入*p所存放的地址所指向的变量,也就是a
我在刚接触的时候,觉得指针很麻烦,反而不如直接使用变量,但是,指针可以做到很多直接使用变量办不到的事。
例如,在函数的编写中,返回值只能有一个,如果需要对多个函数进行排序时,指针就有用了
例如
void(int*p1,int*p2)
{
int a;
If(p1>p2)
*p1=a;
*p1=*p2;
*p2=a;
}
这是一个无参函数,用以将*p1与*p2所指向的变量的值进行调换,这是指针最简单的应用