为什么要用函数
说起函数,我们最熟悉的就是main 函数
因为我们写 C 语句
的时候,必须包含
main 函数。我们的输入、输出甚至数据的处理都从一个 main 函数中进行,但是随着程序的规模越来越大,单纯使用 main 函数已经无法满足后期维护和编写的需求。并且我们在程序运行中,需要重复使用某个功能时,要一遍又一遍的写,非常麻烦,所以我们就引入函数这个概念。把一个庞大程序的功能封装到一个一个函数中
,然后把各种功能的函数组装在一起,实现我们程序所需要的功能。
函数
函数是从英文 function 中翻译过来的,function 在英文中也有功能的意思,所以我们的函数也就是功能,函数就是用来完成一个又一个的功能的。
从一个例子引入
现在,我们要输出这样的一条信息
1 | ********************** |
上面是22个星号,中间是8个字符,下面是22个星号
如果我们不实用自定义函数,可以这样写
1 |
|
如果,此时我们需要把22个星星改成20个星星呢?需要一个一个的从里面修改,如果我们已经写了200行这样的星星呢?改起来是不是很麻烦?
所以,我们可以使用函数来解决这个问题,函数就是功能,我们将功能整合在一起,就是程序。
1 |
|
分析
声明函数
写完 main 函数之后,我们首先声明了两个自定义函数
,因为在使用自定义函数前,要先声明再使用
,生命函数之后,编译器就知道了,关于这个函数的类型、名称、参数类型、参数个数等等,让后面的代码知道,这是我们自定义的内容。
使用函数
我们声明完函数后,又使用了该函数,使用函数很简单,直接函数名+括号就可以使用了,如果函数包含参数,在括号内填写参数即可,这个我们后面再说。
自定义函数钱
在 main 的花括号结束后,我们又声明了两个函数,其中一个函数输出星号,一个函数输出文字。
总结例子
我们回到最初的问题,因为我们使用了自定义函数,函数能够直接返回星号,所以无论我们需要多少星号,直接输入函数名调用即可,如果需要批量修改,我们也可以直接改函数中的内容即可,不用害怕出错。
关于函数
- 一个 C 程序由一个或者多个程序模块组成,每个程序模块都做为一个
源程序文件
,程序较大时,我们一般不把内容都放在一个源程序文件
中,而是分为若干个源程序文件,这样便于进行编写和编译,提高调试效率。 - 一个
源程序文件
,由一个或多个函数
及其他有关内容组成,一个源程序文件
是一个编译单位
,在程序编译是,是以源程序文件为单位进行编译的。 - C 程序,是从 main 函数开始的,在 main 函数中调用其他函数,在调用结束后,又会返回到 main 函数中,在 main 函数中来结束整个程序的运行。
- 所有函数都是平级的,即可以一个一个定义,但是不能嵌套定义,
函数可以嵌套调用
。 - 函数分为两大类,一个是
库函数
,即由系统提供的,用户不用自己定义,拿来使用就可以,比如我们经常用的输入输出函数,printf、scanf等
,都是系统函数库提供的。另一个是自定义函数
,即用户自己定义的,用来解决用户专门需要的功能的函数。 - 从函数的形式上来看,也分两大类,一个是
无参函数
,即没有参数的函数,比如我们上面例子中输出星号和文字的函数,在 main 函数调用时,不向被调用函数传递数据
。另一种是有参函数
,有参函数在调用时,需要调用方向被调用的函数传递数据
,然后被调用的函数会获取一个函数值,处理完之后,再返回给主调函数
。
尾巴
这是我的个人学习笔记,主要是应付考研复习使用,充斥着一些吐槽和个人观点,并不严谨,欢迎大家参考、指正。