传地址调用 主调函数 实参 十 形参被调函数 maino void Swap(int *x, int * y) i int a, b: nt temp. a=15 b=8 指针的好处之一: Swap(&a, &b) 通过将主调函数变量的 printf"a%%b)地址传给形参实现了改变 主调函数中变量的值。 当计算结果不只一个时, 95 地址值 可以用这种方法,实现数 据的“返回”。 x
11 主调函数 被调函数 main() { int a, b; a = 15; b = 8; Swap(&a, &b); printf("a=%d,b=%d",a,b); } void Swap(int *x, int *y) { int temp; temp = *x; *x = *y; *y = temp; } &a 实 参 形 参 &b a b x y 传地址调用 x y 5 temp 5 a b 9 95 地址值 •指针的好处之一: •通过将主调函数变量的 地址传给形参实现了改变 主调函数中变量的值。 •当计算结果不只一个时, 可以用这种方法,实现数 据的“返回
sWap函数这样写行不行? void Swap(int *pl, int *p2) p=p1:p1.p2为局部变量*/ p1=p2 p2 P 交换的是地址变量并没有交换 12
12 swap函数这样写行不行? void Swap(int *p1, int *p2) { int *p; p = p1; /*p1,p2为局部变量*/ p1 = p2; p2 = p; } •交换的是地址!变量并没有交换