用一段代码和一张图让你理解指针运行流程
下面是一段简单的用指针交换数据的代码
#include<stdio.h>
//交换函数
int change(int *e,int *f){
//定义临时变量存放值
int tmp=*e;
*e=*f;
*f=tmp;
return 0;
}
int main(){
//定义要交换的变量
int a =1;
int b=2;
//用指针保存变量地址
int *p=&a;
int *q=&b;
//打印原来的指
printf("%d %d\n",*p,*q);
//用函数改变值
change(p,q);
//打印改变的值
printf("%d %d",a,b);
//仅仅是防止黑方框消失
scanf("%d",&a);
}
以下是一张运行分析图: (方块内容为 地址 +内容 )