Skip to content

Commit

Permalink
doc: update docs/c_functions_parameters.md (#4)
Browse files Browse the repository at this point in the history
  • Loading branch information
jaywcjlove committed Jul 11, 2022
1 parent 376109e commit 8326761
Show file tree
Hide file tree
Showing 2 changed files with 68 additions and 41 deletions.
6 changes: 3 additions & 3 deletions .idoc/.filesStat.json
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,9 @@
"birthtime": "2022-05-01T15:32:10.059Z"
},
"docs/c_functions_parameters.md": {
"atime": "2022-05-02T09:58:32.154Z",
"mtime": "2022-05-02T09:58:17.224Z",
"ctime": "2022-05-02T09:58:17.224Z",
"atime": "2022-07-11T05:12:03.251Z",
"mtime": "2022-07-11T05:12:05.009Z",
"ctime": "2022-07-11T05:12:05.009Z",
"birthtime": "2022-05-01T15:32:10.059Z"
},
"docs/c_file_io.md": {
Expand Down
103 changes: 65 additions & 38 deletions docs/c_functions_parameters.md
Original file line number Diff line number Diff line change
@@ -1,82 +1,109 @@
C 函数参数
===

函数是一段代码,只有在被调用时才会运行。
## 参数

您可以将数据(称为参数)传递给函数。
信息可以作为参数(Parameters/Arguments)传递给函数。 参数在函数内部充当变量

函数用于执行某些操作,它们对于重用代码很重要:定义代码一次,多次使用。
参数在函数名之后的括号内指定。您可以添加任意数量的参数,只需用逗号分隔它们:

## 预定义函数

所以事实证明你已经知道函数是什么了。 在学习本教程的过程中,您一直在使用它!
```c
returnType functionName(parameter1, parameter2, parameter3) {
// 要执行的代码
}
```
比如 `main()` 是一个函数,用来执行代码,`printf()` 是一个函数; 用于向屏幕输出/打印文本:
以下函数采用带有 **name** 作为参数的 [string of characters](c_strings.md)。当函数被调用时,我们传递一个名字,这个名字在函数内部用来打印“Hello”和每个人的名字。
```c
void myFunction(char name[]) {
printf("Hello %s\n", name);
}
int main() {
printf("Hello World!");
myFunction("Liam");
myFunction("Jenny");
myFunction("Kenny");
return 0;
}
// Hello Liam
// Hello Jenny
// Hello Kenny
```

## 创建函数
当一个 **parameter** 被传递给函数时,它被称为一个 **argument**。 因此,从上面的示例中:`name` 是一个**parameter**,而`Liam``Jenny``Anja`**arguments**

## 多个参数

要创建(通常称为 *declare*)您自己的函数,请指定函数的名称,后跟括号 `()` 和大括号 `{}`
在函数内部,您可以添加任意数量的参数(parameters)

### 语法
### Example

```c
void myFunction() {
// 要执行的代码
void myFunction(char name[], int age) {
printf("Hello %s. You are %d years old.\n", name, age);
}

int main() {
myFunction("Liam", 3);
myFunction("Jenny", 14);
myFunction("Anja", 30);
return 0;
}

// Hello Liam. You are 3 years old.
// Hello Jenny. You are 14 years old.
// Hello Anja. You are 30 years old.
```
**示例解释**
请注意,当您使用多个参数(**parameters**)时,函数调用必须具有与参数(**arguments**)相同数量的参数(**parameters**),并且参数(**arguments**)必须以相同的顺序传递。
## 返回值
* `myFunction()` 是函数的名称
* `void` 表示函数没有返回值。 您将在下一章稍后了解有关返回值的更多信息
* 在函数(主体)内部,添加定义函数应该做什么的代码
前面示例中使用的 `void` 关键字表示函数不应返回值。 如果希望函数返回值,可以使用数据类型(如`int`或`float`等)代替`void`,并在函数内部使用`return`关键字:
## 调用函数
```c
int myFunction(int x) {
return 5 + x;
}
声明的函数不会立即执行。 它们被“保存以备后用”,并在调用时执行。
int main() {
printf("Result is: %d", myFunction(3));
要调用函数,请编写函数名,后跟两个括号 `()` 和一个分号 `;`
return 0;
}
在以下示例中,`myFunction()` 用于在调用时打印文本(操作):
// 输出 8 (5 + 3)
```

`main` 中,调用 `myFunction()`
此示例返回具有**两个参数(parameters)**的函数的总和

```c
// 创建函数
void myFunction() {
printf("晚上好!");
int myFunction(int x, int y) {
return x + y;
}

int main() {
myFunction(); // 调用函数
printf("Result is: %d", myFunction(5, 3));
return 0;
}

// 输出 "晚上好!"
// Outputs 8 (5 + 3)
```
一个函数可以被多次调用
您还可以将结果存储在变量中
```c
void myFunction() {
printf("晚上好!");
int myFunction(int x, int y) {
return x + y;
}
int main() {
myFunction();
myFunction();
myFunction();
int result = myFunction(5, 3);
printf("Result is = %d", result);
return 0;
}

// 晚上好!
// 晚上好!
// 晚上好!
```
// Outputs 8 (5 + 3)
```

0 comments on commit 8326761

Please sign in to comment.