C语言 函数
2019-09-09
18
0
函数是一起执行任务的一组语句,每个C程序都有至少一个函数,即 main(),所有最简单的程序都可以定义其他函数。
函数 declaration 告诉编译器函数的名称,返回类型和参数,函数定义提供函数的实际主体。
C标准库提供了程序可以调用的许多内置函数。如, strcat()可以连接两个字符串, memcpy()可以将一个内存位置复制到另一位置,还有更多函数。
定义函数
用C编程语言编写的函数定义的一般形式如下-
return_type function_name( parameter list ) {
body of the function
}
C编程中的函数定义由函数头和函数主体组成,这是函数的所有部分-
- return_type - 函数可以返回一个值。某些函数不返回值则使用关键字 void 。
- function_name - 这是函数的名称。
- parameter - 参数就像一个占位符。
- body - 函数主体包含用于定义函数函数的语句的集合。
函数示例
下面给出的是名为 max()的函数的源代码,此函数采用两个参数num1和num2,并返回两个之间的最大值.
/* function returning the max between two numbers */
int max(int num1, int num2) {
/* local variable declaration */
int result;
if (num1 > num2)
result=num1;
else
result=num2;
return result;
}
函数声明
函数 declaration 告诉编译器有关函数名称以及如何调用该函数的信息,该函数的实际主体可以单独定义。
return_type function_name( parameter list );
对于上面定义的函数max(),函数声明如下:
int max(int num1, int num2);
参数名称在函数声明中并不重要,仅它们的类型是必需的,因此以下也是有效的声明-
int max(int, int);
在一个源文件中定义一个函数并在另一个文件中调用该函数时,需要函数声明,在这种情况下,应在调用函数的文件顶部声明该函数。
调用函数
创建C函数时,您需要定义函数的函数。要使用函数,您将必须调用该函数来执行定义的任务。
要调用一个函数,您只需要传递所需的参数以及函数名,如果函数返回一个值,则可以存储返回的值。如:
#include <stdio.h>
/* function declaration */
int max(int num1, int num2);
int main () {
/* local variable definition */
int a=100;
int b=200;
int ret;
/* calling a function to get max value */
ret=max(a, b);
printf( "Max value is : %d\n", ret );
return 0;
}
/* function returning the max between two numbers */
int max(int num1, int num2) {
/* local variable declaration */
int result;
if (num1 > num2)
result=num1;
else
result=num2;
return result;
}
我们保留了max()和main()并编译了源代码,在运行最终可执行文件时,它将产生以下输出-
Max value is : 200
函数参数
如果函数要使用参数,则它必须声明接受参数值的变量。这些变量称为函数的形式参数。
No. | Call Type | 描述 |
---|---|---|
1 | 值传递 | 对函数内部参数的更改不会对参数产生影响. |
2 | 引用传递 | 这意味着对参数所做的更改会影响参数. |
默认情况下,C使用按值调用传递参数。通常,这意味着函数中的代码无法更改用于调用函数的参数。