定义一个指针
#include<stdio.h>
int main()
{
int a;
a=1;
int *p=&a;
printf("%d",*p);
return 0;
}
#include<stdio.h>
int main()
{
int i,*p;
i=1;
p=&i;
printf("%d",*p);
return 0;
}*
注意观察以上两个程序,p始终都是用来存储需要访问的地址,而*p始终是用来通过那个地址访问到所存储的那个东西
#include<stdio.h>
int main()
{
int i,j,*p=&i,*q;
q=p;
scanf("%d%d",q,&j);
printf("%d%d",i,j);
return 0;
}
这个程序的大致意思就是将i的地址给了p然后又将p(此时存储的是i的地址)给了q;所以通过读取P(即i的地址)读入的数实则就是在给i赋值。
#include<stdio.h>
int main()
{
int *pointer_1,*pointer_2;
int a,b;
scanf("%d%d",&a,&b);
pointer_1=&a;
pointer_2=&b;
printf("%d %d\n",a,b);
printf("%d %d",*pointer_1,*pointer_2);
return 0;
}
简单的读入指针然后输出
#include<stdio.h>
int main()
{
int *pointer_1,*pointer_2,*p;
int a,b;
scanf("%d%d",&a,&b);
pointer_1=&a;
pointer_2=&b;
if(a<b)
{
p=pointer_1;
pointer_1=pointer_2;
pointer_2=p;
}
printf("%d %d",*pointer_1,*pointer_2);
return 0;
}
交换两个指针所存储的地址