函数调用,形式参数和实际参数

文章目录

前言

一、形式参数和实际参数

二、使用步骤

1.案例讲解

2.修改

三、有时候为什么不用指针呢?

总结



前言

分析透彻,语言通俗,总结了书本和各位大神贴子的内容

对于初学者很友好。


一、形式参数和实际参数

知识点须知:

1、形式参数:就是在定义函数或过程的时候命名的参数。通俗讲就是一个记号。(临时的,可通过每次调用时变化的变量)或者说形式参数当函数调用完成之后就自动销毁了。因此形式参数只在函数中有效。

 2、实际参数:就是在执行时, 调用函数或过程时,传递给函数或过程的参数 。通俗讲就是实际值 。(实际在调用中使用的值)

3 参数:就是一个可变量,它随着使用者的不同而发生变化。举个例子,在中学的时候学过sin(x)函数,这里的x就是形式参 数 ,当你需要求1的正弦值时, 你会使用sin(1),这里的1就是实际参数。 

4 形参和实参间的关系: 两者是在调用的时候进行结合的 ,通常实参会将取值传递给形参,形参去之后进行函数过程运算,然后可能将某些值经过参数或函数符号返回给调用者。

5 须知,调用时两者的存储地址不一样

二、使用步骤

1.案例讲解

#include <stdio.h>
void swap(int a,int b)
{
    int t;
    t=a;
    a=b;
    b=t;
    
}
void main()
{
    int a,b;
    scanf("%d,%d",&a,&b);
    swap(a,b);
    printf("a=%d,b=%d\n",a,b);
}

 运行出来是a=4,b=3;这样明显调用使用无效果,程序功能没实现;

主函数a,b是实参,swap中a,b是形参,赋值时是一个地址,调用的时候存储的时另一个地址,如何改变这种情况呢?下面我们来修改

(调用的时候 啊a,b拥有自己的空间,同时拥有了和实参一模一样的内容。
所以我们可以简单的认为:形参实例化之后其实相当于实参的一份临时拷贝。)

2.修改

运用指针,放在同一个地址,也就是把函数中的值换为实参。这样使用的时候就可以了

#include <stdio.h>
void swap(int *pa,int *pb)
{
    int t;
    t=*pa;
    *pa=*pb;
    *pb=t;
    
}
void main()
{
    int a,b;
    scanf("%d,%d",&a,&b);
    swap(&a,&b);
    printf("a=%d,b=%d\n",a,b);
}


三、有时候为什么不用指针呢?

就是因为有return语句,使调用之后能给主函数返回一个确定的值,即便是在两个地址下 

 

总结

形参与实参不算难,主要是明白其中细微的差别,注意参数使用范围,运用到实际。

顿感性格    何以故,一切有为法,如梦幻泡影,如露亦如电,应作如是观。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值