1.初见函数
- 为了避免“代码重复”而产生,大多用于程序中代码重复的部分以及编写过程中需要多次使用的部分,方便代码的修改和维护。
- 抽出一部分代码,接受零个或多个参数,最后返回零个或一个值。
- 格式
函数头:返回类型+函数名(参数表)
{
函数体:
} - 调用函数 :函数名+()
- return表示停止函数的执行,并送回一个值。返回的值可以赋值给变量,可以再传递给函数,可以丢弃,也可以要它的副作用。
- 没有返回值的函数可以不要return,但必须要有void.
2.函数原型
- 为了美观,将声明(即函数头,其中参数具体名称可以不用写)放在int main ()前面,将定义放在最后。
- 函数原型:函数头+;
3.参数传递
- 调用函数时所给的值与参数的类型不匹配时,编译器会偷偷替我们把类型转换好。
- 调用函数时,传递的是值,而不是变量,所以用,函数名(值,值)
4.本地变量(局部变量/自动变量)
- 概念:定义在函数内部的变量以及参数。
- 生存期和作用域:{块}
- 规则:
1.定义在{ 块 },随便大括号都行;
2.{块}外定义的变量在块内有效;
3.块内的同名变量掩盖外面的;
4.不能在一个块内定义同名的变量;
5.本地变量不会被默认初始化;
6.参数在进入函数的时候被初始化了。
补充
- void:返回类型,表示“没有”,意思就是不返回任何值。
- 没有参数时写作 void f (void);
- 调用函数时,
f(a,b)逗号为标点符号,表示两个参数
f((a,b))逗号为运算符,表示一个参数 - C语言不允许嵌套函数;
- return后面不要加括号,会误以为是函数而非表达式;
- 关于main()也是一个函数。