网站建设案例资讯,深圳比较好的ui设计公司,重庆网站建设中心,株洲网站建设 李函数的声明编程中的函数#xff08;function#xff09;一般是若干语句的集合。我们也可以将其称作“子过程#xff08;subroutine#xff09;”。在编程中#xff0c;如果有一些重复的过程#xff0c;我们可以将其提取出来#xff0c;形成一个函数。函数可以接收若干值…函数的声明编程中的函数function一般是若干语句的集合。我们也可以将其称作“子过程subroutine”。在编程中如果有一些重复的过程我们可以将其提取出来形成一个函数。函数可以接收若干值这叫做函数的参数。函数也可以返回某个值这叫做函数的返回值。声明一个函数我们需要返回值类型、函数的名称以及参数列表。// 返回值类型 int
// 函数的名称 function
// 参数列表 int, int
int function(int, int);如上图我们声明了一个名为 function 的函数它需要接收两个 int 类型的参数返回值类型也为 int。可以认为这个函数将会对传入的两个整数进行一些操作并且返回一个同样类型的结果。实现函数编写函数的定义只有函数的声明declaration还不够他只能让我们在调用时能够得知函数的 接口 类型即接收什么数据、返回什么数据但其缺乏具体的内部实现也就是函数的 定义definition。我们可以在 声明之后的其他地方 编写代码 实现implement这个函数也可以在另外的文件中实现但是需要将分别编译后的文件在链接时一并给出。如果函数有返回值则需要通过 return 语句将值返回给调用方。函数一旦执行到 return 语句则直接结束当前函数不再执行后续的语句。int function(int, int); // 声明/* some other code here... */int function(int x, int y) { // 定义int result 2 * x y;return result;result 3; // 这条语句不会被执行
}在定义时我们给函数的参数列表的变量起了名字。这样我们便可以在函数定义中使用这些变量了。如果是同一个文件中我们也可以直接将 声明和定义合并在一起换句话说也就是在声明时就完成定义。int some_function(int x, int y) { return 2 * x y; }如果函数不需要有返回值则将函数的返回值类型标为 void如果函数不需要参数则可以将参数列表置空。同样无返回值的函数执行到 return; 语句也会结束执行。void hello() {cout hello!\n;return;cout hello!\n; // 这条语句不会被执行
}函数的调用和变量一样函数需要先被声明才能使用。使用函数的行为叫做“调用call”。我们可以在任何函数内部调用其他函数包括这个函数自身。函数调用自身的行为称为 递归recursion。在大多数语言中调用函数的写法是 函数名称加上一对括号 ()如 abc()。如果函数需要参数则我们将其需要的参数按顺序填写在括号中以逗号间隔如 abc(1, 2)。函数的调用也是一个表达式函数的返回值 就是 表达式的值。函数声明时候写出的参数可以理解为在函数 当前次调用的内部 可以使用的变量这些变量的值由调用处传入的值初始化。看下面这个例子void abc(int x, int y) {x x * 2;y y 3;
}/* ... */a 1;
b 1;
// 调用前a 1, b 1
foo(a, b); // 调用 foo// 调用后a 2, b 4上述代码中我们看到函数参数列表中的“int”后面添加了一个“and 符号”这表示对于 int 类型的 引用reference。在调用 abc 时调用处 a 和 b 变量分别初始化了 abc 中两个对 int 类型的引用 x 和 y。在 abc 中的 x 和 y可以理解为调用处 a 和 b 变量的“别名”即 abc 中对 x 和 y 的操作就是对调用处 a 和 b 的操作。main 函数特别的每个 C/C 程序都需要有一个名为 main 的函数。任何程序都将从 main 函数开始运行。main 函数也可以有参数通过 main 函数的参数我们可以获得外界传给这个程序的指令也就是“命令行参数”以便做出不同的反应。下面是一段调用了函数子过程的代码#include iostreamvoid hello() {std::cout hello!\n;
}int main() {hello();
}