初入指针
听闻指针似精灵,它使用灵活,功能强大到几乎可以呼风唤雨,但是它也淘气顽皮,难以驾驭。准确使用指针是成为一名编程高手的必由之路。滥用指针给你带来的就只能是灾难了。
指针:
在C语言中,将地址形象地称为“指针”,存放地址的变量就称为指针变量。
注释:指针就是地址,而地址就是内存单元的编号。存放指针的变量就是指针变量,通过这个指针变量的值就能找到另一个变量在哪里,从而操作另一个变量。一定要区分“指针”和“指针变量”这两个概念。指针是一个地址,而指针变量是存放地址的变量。
指针的声明方式:
int *ip; // 一个整型的指针变量IP,存的是整型变量的地址
double *dp; //一个double型的指针变量店铺,存双精度类型变量的地址
float *fp; //一个浮点型的指针变量fp,存单精度类型变量的地址
char *ch; //一个字符型的指针变量ch,存字符类型变量的地址
例1:
输入三个整数,由小到大输出。(要求运用指针,并单独写交换函数void swap(int *p1,int *p2)
)
解答:
#include<stdio.h>
void swap(int *p1,int *p2);
int main()
{
int a,b,c,*p3,*p4,*p5;
printf("请输入三个整数:");
scanf("%d%d%d",&a,&b,&c);
p3=&a;
p4=&b;
p5=&c;
swap(p3,p4);
swap(p3,p5);
swap(p4,p5);
printf("%d->%d->%d\n",a,b,c);
return 0;
}
void swap(int *p1,int *p2)
{
int temp;
if(*p1>*p2)
{
temp=*p1;
*p1=*p2;
*p2=temp;
}
}
运行结果: