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

C语言 指针作为函数的形参和实参

题目答案

当函数的形参为指针,实参也为指针时,传递方式和普通变量一样,也是值传递的形式。

【例题】实参为指针

将【例题】程序改写,要求实参为指针的形式。程序代码如下:

#include <stdio.h> 

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

main()

{

    int a,b,c;

    int *p=&a,*q=&b,*t=&c;

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

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

    if(a>b)

        swap(p.q);     /*指针作为实参,形参是能接收地址的指针*/

    if(a>c)

        swap(p.t); 

    if(b>c)

        swap(q,t);

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

}

void swap(int *x,int *y)

{

    int t;

    t=*x;

    *x=*y;

    *y=t

}

程序的执行过程为:将p、q的值(a的地址、b的地址)分别传递为形参指针x、y,如图所示。

image.png

形参指针变量x指向变量a; y指向变量b,在函数调用开始时才分配存储空间,函数调用结束后立即被释放。

形参指针不能改变实参指针的值,但可以改变它们所指向的变量的值。

image.png

网友评论(共0条评论)

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

最新评论

点击加载更多评论>>

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

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

相关视频试题

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

去 App Store 免费下载 iOS 客户端