c语言实参和形参占用存储单元_C语言之函数系列Ⅰ

一、概述

一个C程序可以分为若干个函数;每个程序有且只能有一个主函数(main),其它函数都是“子函数”;子函数可以互相调用,但主函数不能被调用;一个C源程序由一个或多个文件构成,一个源程序文件是一个编译单位

说明:①C程序的执行从main函数开始,调用其它函数后仍回到main函数,程序在main函数结束时结束;②所有子函数都是平行的,任何子函数都不属于其它函数;③从用户的角度看,函数可分为:标准函数,即库函数和自定义函数;④从函数形式看,可分为:无参数函数和有参数函数。

cbc40ca22b059eb3ef0d318a912c94f2.png

二、函数的定义

函数定义的一般形式:

类型说明 函数名 ([形式参数说明]) {函数体}

形式参数说明方法:类型说明 变量名[,类型说明 变量名]...

无参数函数的定义形式:类型说明 函数名() {函数体}

有参数函数的定义形式:类型说明 函数名 (形式参数说明) {函数体}

空函数的定义形式:类型说明 函数名 ([形式参数说明]){}

一般情况下,函数体由两部分组成:

{[局部变量说明]

语句

}

局部变量:函数体内定义的变量。其有效范围仅限于所在的函数内部,离开函数体则无意义。

e9194f9ee2bbc90e062081e11adca63d.png

三、函数参数(变量、数组)和函数值

一个C程序由若干个函数组成,各函数调用时经常需要传递一些数据。即调用函数把数据传递给被调用函数,经被调用函数处理后,得到一个确定的结果,在返回调用函数时,把这结果带回调用函数;各函数间的信息的往来是由参数传递和返回语句实现的。

1.形式参数和实际参数

函数参数:用于函数间数据的传递

形式参数:定义函数时使用的参数

实际参数:引用函数时使用的参数

说明:定义函数时,必须说明形参的类型。形参只能是变量或数组。函数被调用前,形参不占用内存;函数调用结束后,形参所占用的内存也将被回收;实参可以是常量、变量或表达式;实参与形参的类型必须一致。字符型和整型可以互相匹配;C语言中实参对形参的数据传递是“值传递”,即单向传递。它仅由参数的对应位置确定,与名字无关

e2c6e80aa71fafaecd7069337031c169.png

2.函数的返回值

①返回函数值的方法:函数的返回值也就是函数值,是一个确定的值。如果一个函数有返回值,就必须使用return语句;一个函数中可以有一个以上的return语句,但不论执行到哪个return都将结束函数的调用返回主调函数;return语句中的括号可以省略;return后面的值可以是一个表达式。

②函数值的类型:函数的类型即函数值的类型;省略了类型说明的函数是int型的;return语句中表达式的值一般应与函数类型一致;如果不一致,则需要进行类型转换。只有数值型数据可以进行自动类型转换,以函数类型为准。

③不需要返回值的函数:如果函数中没有使用return语句,函数返回的是一个不确定的数值;如果一个函数不需要返回值(表示一个过程),可以用void做类型说明;如果一个函数被声明为void类型,就不允许再引用它的返回值(即只能用函数语句形式调用)。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值