c语言中,指针的优势在哪里?请告知
上课老师说,C语言把指针学好你的C语言就没问题了。
昨天看书刚好看到指针这一章
有个程序
#include<stdio.h>
void main()
{int *p1,*p2,*p,a,b;
scanf("%d,%d",&a,&b);
p1=&a;p2=&b;
if(a<b)
{p=p1;p1=p2;p2=p;}
printf("a=%d,b=%d\n\n",a,b);
printf("max=%d,min=%d\n",*p1,*p2);
}
这个程序运行结果是,输入A和B两个证书,按先大后小的顺序输出A和B。
但是把程序改为:
#include<stdio.h>
void main()
{int p1,p2,p,a,b;
scanf("%d,%d",&a,&b);
p1=a;p2=b;
if(a<b)
{p=p1;p1=p2;p2=p;}
printf("a=%d,b=%d\n\n",a,b);
printf("max=%d,min=%d\n",p1,p2);
}
即把所谓的指针改成普通的变量同样没有什么不可以啊。
这样我就纠结了,指针的优势到底在哪呢?请高手指点