函数篇
本章是函数篇了哦
初见函数
例子
求出1-10、20-30、35-45的三个和
非函数代码
1 |
|
注:代码复制是程序质量不良的表现。
函数版代码
1 |
|
什么是函数
函数是一块代码,接受零个或多个参数。然后做一件事情,并返回零个或一个值。
函数定义
1 | void sum(int begin, int end){ |
void sum(int begin, int end)
为函数头
第一个{}
中的内容称为函数体
sum
是函数名,int begin, int end
为参数表
void
是返回类型,在此例子中表明函数不返回函数值
调用函数
调用语法:函数名(参数值);
()起到了调用函数的功能
- 如果有参数,则需要给出正确的数量和顺序
- 这些值会被按照顺序依次用来初始化函数中的参数
函数返回
函数知道每一次是哪里调用它,会返回到正确的地方。
从函数中返回值
- return 停止函数的执行,并送回一个值
- return;
- return 表达式;
没有返回值的函数
- void 函数名(参数表)
- 不能使用带值的return(可以没有return)
- 调用的时候不能做返回值的赋值
- 如果函数有返回值,则必须使用带值的return
原型声明
1 |
|
- 函数头,以“ ; ”结尾,就构成了函数的原型
- 函数原型的目的是告诉编译器这个函数长什么样【名称,参数(数量及类型),返回类型】
类型不匹配
- 调用函数时给的值与参数的类型不匹配是C语言传统上最大的漏洞
- 编译器总是悄悄替你把类型转换好,但是这很可能不是你所期望的。
- 后续C++、Java会更加严格
传值
每个函数有自己的变量空间,参数也位于这个独立的空间中,和其他函数没有关系。