首页 理论教育 C语言程序设计:指针变量作为函数参数的实用技巧

C语言程序设计:指针变量作为函数参数的实用技巧

时间:2023-10-29 理论教育 版权反馈
【摘要】:函数的参数不仅可以是整型、实型、字符型等普通变量,还可以是指针变量。指针变量作为函数参数可以将一个变量的地址传送到另一个函数中。定义一个函数,用来交换两个值。main函数中调用swap()函数时,以变量x和y作为实参。

C语言程序设计:指针变量作为函数参数的实用技巧

函数的参数不仅可以是整型、实型、字符型等普通变量,还可以是指针变量。指针变量作为函数参数可以将一个变量的地址传送到另一个函数中。

【例7.23】定义一个函数,用来交换两个值。

程序内容如下:

1 #include<stdio.h>

2 void swap(int*p,int*q)

3 {

4  int t;

5  t=*p;

6  *p=*q;

7  *q=t;

8 }

9 void main()(www.xing528.com)

10 {

11  int x=1,y=2;

12  printf("交换前x=%d,y=%d\n",x,y);

13  swap(&x,&y);

14  printf("交换后x=%d,y=%d\n",x,y);

15 }

程序结果如图7.29所示:

图7.29 例7.23程序结果图

【例题中关键问题说明】

程序中swap函数的作用是通过中间变量t,实现p和q之间的交换。main函数中调用swap()函数时,以变量x和y作为实参。从运行结果看并没有实现变量x和y之间值的交换。这是因为调用swap()函数时,是以单向传递的方式进行函数的参数的传递,即将变量x和y的值分别传递给对应的变量p和q,函数swap()执行后,函数中的变量p和q之间值被交换,但变量x和y与p和q都使用各自的存储空间,所以p和q的改变对x和y没有影响。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈