实例:使用指针实现数据交换
本实例实现使用指针变量实现交换两个变量(a和b)的值。
代码:
#include<stdio.h>
int main()
{
void swap(int *p1,int *p2);
int a,b;
int *p1,*p2;
scanf("%d %d",&a,&b);
p1=&a;
p2=&b;
swap(p1,p2);
printf("%d %d",a,b);
return 0;
}
void swap(int *p1,int *p2)
{
int temp;
temp = *p1;
*p1 = *p2;
*p2 = temp;
}
实例:使用指针实现整数排序
本实例实现输入3个整数,将这3个整数按照由大到小的顺序输出。
代码:
# include<stdio.h>
int main()
{
void swap(int *p1,int *p2);
void exchange(int *p1,int *p2,int *p3);
int a,b,c,*q1,*q2,*q3;
scanf("%d %d %d",&a,&b,&c);
q1 = &a;
q2 = &b;
q3 = &c;
exchange(q1,q2,q3);
printf("%d %d %d",a,b,c);
return 0;
}
void swap(int *p1,int *p2)
{
int temp;
temp = *p1;
*p1 = *p2;
*p2 = temp;
}
void exchange(int *p1,int *p2,int *p3)
{
if(*p1<*p2)
swap(p1,p2);
if(*p1<*p3)
swap(p1,p3);
if(*p2<*p3)
swap(p2,p3);
}
实例:指向结构体变量的指针
本实例通过结构体指针变量实现在窗体上显示学生信息。
代码:
#include<stdio.h>
struct student{
int num;
char name[20];
char sex;
int age;
float score;
};
int main()
{
struct student student1={1001,"liming",'M',20,92.5};
struct student *p;
p = &student1;
printf("%d %s %c %d %f",p->num,p->name,p->sex,p->age,p->score);
return 0;
}