1.什么是函数
函数是一块代码,接收零个或多个参数,做一件事情,并返回零个或一个值。
2.调用函数
函数名(参数值)
()起到了表示函数调用的重要作用。即使没有参数也需要()。
如果有参数,则需要给出正确的数量和顺序。这些值会被按照顺序依次用来初始化函数中的参数。
3.函数返回
函数知道每一次是哪里调用它,会返回到正确的地方。
return 停止函数的执行,并送回一个值。return 表达式;把值交给调用函数的地方。
函数的返回值可以赋值给变量,可以再传递给函数,甚至可以丢弃(需要函数的副作用,不在乎返回什么)
4.没有返回值的函数
void 函数名(参数表)
不能使用带值的 return。可以没有 return 。
调用的时候不能做返回值的赋值。
如果函数有返回值,则必须使用带值的 return 。
5.本地变量
函数每次运行,就产生了一个独立的变量空间。在这个空间中的变量,是函数的这次运行所独有的,称作本地变量。
定义在函数内部的变量就是本地变量。参数也是本地变量。
6.变量的生存期和作用域
生存期:什么时候这个变量开始出现了,到什么时候它消亡了。
作用域:在(代码的)什么范围可以访问这个变量(这个变量可以起作用)。
对于本地变量,这两个问题的答案是统一的:大括号内——块。
7.本地变量的规则
本地变量是定义在块内的。它可以是定义在函数的块内;也可以定义在语句的块内(循环体内);甚至可以随便拉一对大括号来定义变量。
程序运行进入这个块之前,其中的变量不存在,离开这个块,其中的变量消失了。
块外面定义的变量在里面仍然有效;块里面定义了和外面同名的变量,则掩盖了外面的;不能在同一个块内定义同名的变量。
本地变量不会被默认初始化。参数在进入函数的时候被初始化了。
8.没有参数时
void f (void); 明确告诉编译器,不接受任何参数。
9.逗号运算符
调用函数时的圆括号里的逗号是标点符号,不是运算符。