立即学习:https://edu.youkuaiyun.com/course/play/8088/165747?utm_source=blogtoedu
1. 指针作为函数参数:作用是将一个变量的地址传送到一个函数中去
void swap(int *pdest1, int *pdest2)
{
int temp;
temp = *pdest1; //将pdest1所指向的变量,实际将a赋值给temp
*pdest1 = *pdest2; //b的值给了*pdest1
*pdest2 = temp;
}
int main() //主函数
{
int a=5,b=6;
int *p1,*p2;
p1 = &a; //p1指向a
p2 = &b; //p2指向b
printf("a=%d,b=%d\n",a,b);
if( a < b) //成立
{
swap (p1,p2);
}
printf("a=%d,b=%d\n",a,b);//结果为a=6,b=5,相当于a,b值互换了
}
C语言中,实参变量和形参变量之间的数据传递是单向的值传递,指针变量作为函数参数也要遵循这个原则,调用函数swap()不能改变实参指针变量的值,也就是说p1还是指向a,p2还是指向b,但可以改变实参指针变量所指变量的值