首页 > 软件操作教程 > 编程开发 > C语言
题目内容

C语言 指针变量作为形参,实参为变量的地址

题目答案

    此时将实参中变量的地址传递为形参指针,相当于指针指向了变量,所以利用指针对变量的值改变将带回实参。这种用法常用在需要一个函数返回多个值的情况,因为一个函数只能返回一个函数值,所以可以用指针将需要返回的其他值带回主调函数。

【例题】实现对三个变量按从小到大的顺序输出

    算法分析:

    设计一个函数swap(),实现将两个变量交换,该函数需要返回两个值,所以将函数的形参设计为指针,实参是两个变量的地址。

程序代码如下:

#include <stdio.h>

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

main()

{

    int a,b,c;

    printf("please input a ,b & c:\n"); 

    scanf("%d%d%d",&a,&b.&c);

    if(a>b)

        swap(&a,&b); 

    if(a>c)

        swap(&a,&c); 

    if(b>c)

        swap(&b,&c);

    printf("%4d%4d%4d\n",a,b,c);

}

void swap(int *p,int *q)

{

    int t;

    t=*p;

    *p=*q;

    *q=t;

}

程序执行,按照屏幕提示信息输入:

  6  2  4

输出结果为:

  2  4  6

程序中,将实参a、b的地址分别赋给形参指针p、q,则a、b与p、q就形成了如图所示的指向关系:

image.png

指针作为形参和普通变量作为形参一样,当函数执行完毕,指针所占内存空间会被收回。

网友评论(共0条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

软件操作 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

相关视频试题

最需教育客户端 软件问题一手掌握

去 App Store 免费下载 iOS 客户端