经典指针程序互换(一)

#include<stdio.h>

 huan(int *p,int *q){
 	int t;
 	t=*p;
 	*p=*q;
 	*q=t;
 }

int main(){
int a=3,b=10;  
	huan(&a,&b);
	printf("%d %d",a,b);
}

在这里插入图片描述
这里我最疑惑的是不是改变*p的值就改变了a的值,为此,我专门敲了段代码,验证一下

#include<stdio.h>	
	int main(){
	int a=3,*p;
	p=&a;
	 printf("%d %d\n",a,*p); 
	*p=10;	
	printf("%d %d",a,*p); 	
		
	}

在这里插入图片描述
不出所料,的确是这样的,*p和a是等值得,改变其中一个另一个也要改变
p只是a的地址罢了

猜你喜欢

转载自blog.csdn.net/weixin_43560272/article/details/88990018