更新 'Chapter2 C与C++/2.2 函数.md'

This commit is contained in:
lion187 2018-03-21 13:07:24 +08:00
parent dd865d5b67
commit 248641ca5b
1 changed files with 39 additions and 5 deletions

View File

@ -1,17 +1,51 @@
所谓函数,是指按照某种规律,将输入转变成输出的系统。
我们可以用c语言描述这样的系统。
所谓函数,是指按照某种规律,将输入转变成输出的系统。
我们可以用c语言描述这样的系统。
```cpp
int fun(int a, int b)
int fun0(int a, int b)
{
  return (a+b)*(a-b);
}
```
以上是一个函数的定义,可以看出,定义函数需采用以下语法结构:
以上是一个函数的定义,可以看出,定义函数需采用以下语法结构:
  返回值类型 函数名(参数类型 参数1, ... ,参数类型 参数n)
  {
}
函数的参数通过return语句返回给调用者
函数的命名规则与变量的命名规则一致只能包括下划线英文字符和0~9数字并且数字不能作为首字母出现。
函数的参数是一组仅在函数内部可见的变量,这些变量的值,由调用者传入:
```cpp
int a=5;
fun0(a, 3)   // 计算(5+3)*(5-3).
```
在定义函数的时候写的参数名称称作形式参数简称形参。而这里在调用时传入的a和3称作实际参数简称实参。
函数的参数通过return语句返回给调用者
```cpp
int c=fun0(5, 3) // c=16.
```
函数可以没有输入此时函数的参数列表应该为void或者不写。
```cpp
int fun1(void)
{
  return 9;   // fun1不依赖任何参数固定返回整数9.
}
```
函数也可能没有返回值此时返回类型为void
```cpp
void fun2(int a)
{
  printf("A=%d.\n", a);   // 函数不返回任何内容仅打印参数a的值.
}
int b;
b=fun2(0x10);   // 这种写法是错的因为fun2没有返回值所以无法为变量b赋值.
```