C语言(长期更新)第6讲:函数(二)

C语言(长期更新)

第6讲:函数(二)

++跟着潼心走,轻松拿捏C语言,困惑通通走,一去不回头~欢迎开始今天的学++ ++习内容,你的支持就是博主最大的动力++ 。


知识回顾

++今天我们来学习新课函数的内容,坐稳了,我们发车,gogogo!++


6.5 数组作为函数参数

前面我们使用的参数都是变量,那么数组是否也可以作为参数使用呢?当然可以。

6.5.1一个例子

下面我们看一个🌰

将一个数组中元素全置为-1,再打印出来

首先我们进行任务分解 ,因为函数的本质就是一个一个执行分任务的子程序

置为-1需要一个函数set_arr(函数名最好反应其功能)

打印需要另一个函数print(也可在主函数main函数直接打印,此处方便练习)

建议先写主函数,再根据需要拆解任务,写对应的函数

6.5.2 几个关键点

需要注意的是

1. 一一对应 函数形参个数需和实参个数匹配

2. 形参数组大小 一维可省略不写,二维行可省略,列不行

3. 数组传参,形参不会创建新数组

也就是说,形参操作的数组和实参数组是一个数组

地址相同,只是在函数运行是换了个名字

我们尝试监测上面的代码,就会发现arr1 arr2 arr3 地址是一样的

7. 嵌套调用

函数之间的相互调用

举个🌰

计算某年某月多少天

1.任务分解

首先确定月份,其次,是2月,看是不是闰年

2.函数实现

get_days_of_month();

is_leap_year();

值得注意的是,函数可以嵌套调用,但不可以嵌套定义

8.链式访问

链式访问就是像链条一样,环环相扣,上一个函数的返回值作为下一个函数的参数使用

上面用了两行代码完成打印字符串长度的任务

使用中间变量len储存strlen返回值,再作为printf参数调用

而使用链式访问,直接作为参数,一行就可

9.printf函数的返回值

print函数返回打印的数字或字符的总数,返回类型为int

下面我们看一个有趣的代码

10.函数定义和声明

10.1单个文件

函数的调用⼀定要满足,先声明后使用;

函数的定义也是⼀种特殊的声明,所以如果函数定义放在调用之前也是可以的。

换个写法

函数的定义只能放前面;放后面的话函数的声明必须放前面

10.2 多个文件

一般情况下,函数和类型的声明放在头文件(.h)中,而函数的实现放在源文件(.c)中


++好了今天的学习内容就到这里啦,谢谢你的陪伴,我是潼心,下次再见~如果这篇文章对你有帮助的话。请务必给主播一个一键三连,球球了,这对主播很重要~++