2021-12-09 函数声明和参数传递专题。

       调用函数向被调用函数传递数据主要是通过函数的参数进行的,而被调用函数向调用函数传递数据一般是通过 return 语句实现的。
       形参 是函数定义时函数名后括号中的变量; 实参 是指调用函数时函数名后括号中的常量、变量或表达式。在调用函数时, 将实参的值传递给形参,使形参在数值上和实参相同
        C  语言提供了两种参数传递数据方式:

                                          按值传递按地址传递

1)按值传递

       函数调用时,调用函数把实参的值传递给被调用函数的形参,形参值的变化不会影响实参的值。这是一种单向的数据传送方式。

       当实参是常量、变量、表达式或数组元素,形参是变量名时,函数传递数据采用的是按值传递。

2)按地址传递

   当函数的形参为数组(7.6.2【】)或指针(8.3)类型时,函数调用的参数传递称为按地址传递

         由于传递的是地址,使形参与实参共享同一存储单元,这样通过形参可以直接引用或处理该地址中的数据,达到改变实参值的目的。

注意:

① 实参的个数应与形参一致,否则将会出现编译错误。

② 定义函数时,系统并不给形参分配存储单元,只有函数被调用时系统才给形参分配存储单元。在调用结束后,形参所占用的存储单元被释放。

③ 实参与形参即使同名,也会分配不同的分配存储单元。

C语言规定,函数间的参数传递是“值传递”,即单向传递,实参可以把值传给形参,但形参的值不能传给实参,也就是说对形参的修改不会影响对应的实参。这是由于在内存中,实参与形参是不同的存储单元,函数执行结束后,形参的存储单元被释放。

(  可以参考主页调用swap调换两个值的栗子  

函数声明:

        1.同变量一样,函数的调用也遵循“先声明,后使用”的原则。

      函数声明的格式为:

类型名 函数名(参数类型1,参数类型2…)

类型名 函数名(参数类型形参1,参数类型2  形参  2…)

           2. 当满足下面两个情况之一时,在主调函数中可以不对被调函数进行声明。

① 被调函数定义在主调函数之前时,对被调用函数的声明可以省去。

② 被调函数的返回值类型是整型字符型时,对被调用函数的声明可以省去。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值