C 用户定义函数
C 用户定义函数
在本教程中,您将通过示例学习在 C 编程中创建用户定义的函数。
函数是执行特定任务的代码块。
C 允许您根据需要定义函数。这些函数称为用户定义函数。例如:
假设,您需要创建一个圆并根据半径和颜色为其着色。你可以创建两个函数来解决这个问题:
createCircle()
功能color()
功能
示例:用户自定义函数
这是一个添加两个整数的示例。为了执行这个任务,我们创建了一个用户定义的 addNumbers()
.
#include <stdio.h>
int addNumbers(int a, int b); // function prototype
int main()
{
int n1,n2,sum;
printf("Enters two numbers: ");
scanf("%d %d",&n1,&n2);
sum = addNumbers(n1, n2); // function call
printf("sum = %d",sum);
return 0;
}
int addNumbers(int a, int b) // function definition
{
int result;
result = a+b;
return result; // return statement
}
函数原型
函数原型只是函数的声明,它指定函数的名称、参数和返回类型。它不包含函数体。
函数原型向编译器提供该函数以后可能在程序中使用的信息。
函数原型语法
returnType functionName(type1 argument1, type2 argument2, ...);
在上面的例子中,int addNumbers(int a, int b);
是向编译器提供以下信息的函数原型:
- 函数名是
addNumbers()
- 函数的返回类型是
int
int
类型的两个参数 传递给函数
如果用户自定义函数在main()
之前定义,则不需要函数原型 功能。
调用函数
程序的控制权通过调用传递给用户自定义函数。
函数调用语法
functionName(argument1, argument2, ...);
在上面的例子中,函数调用是使用 addNumbers(n1, n2);
main()
内的语句 功能。
函数定义
函数定义包含执行特定任务的代码块。在我们的示例中,将两个数字相加并返回。
函数定义语法
returnType functionName(type1 argument1, type2 argument2, ...) { //body of the function }
调用函数时,程序的控制权转移到函数定义。并且,编译器开始执行函数体内的代码。
将参数传递给函数
在编程中,argument 是指传递给函数的变量。在上面的例子中,两个变量 n1 和 n2 在函数调用期间传递。
参数 a 和 b 接受函数定义中传递的参数。这些参数称为函数的形式参数。
<图>传递给函数的参数类型和形参必须匹配,否则编译器会报错。
如果 n1 是 char 类型,a 也应该是 char 类型。如果 n2 是浮点型,变量b 也应该是浮点型的。
也可以在不传递参数的情况下调用函数。
退货声明
return 语句终止函数的执行并向调用函数返回一个值。程序控制在return语句之后转移到调用函数。
在上面的例子中,result 的值 变量返回给主函数。 总和 main()
中的变量 函数被赋予了这个值。
return 语句的语法
return (expression);
例如,
return a; return (a+b);
函数返回值的类型与函数原型和函数定义中指定的返回类型必须匹配。
访问此页面以了解有关从函数传递参数和返回值的更多信息。
C语言