在C语言中,函数是一个非常重要的概念,它允许我们将代码组织成可重用的单元。函数可以执行特定的任务并可以返回结果给调用者。以下是C语言中关于函数的一些关键知识点以及相应的代码示例。
1. 函数定义
函数定义包括返回类型、函数名、参数列表(可能为空)和函数体。
// 函数定义示例
int add(int a, int b)
{
return a + b;
}
2. 函数调用
通过函数名后跟圆括号(其中包含参数值)来调用函数。
#include <stdio.h>
int main()
{
int sum = add(5, 3); // 调用函数add
printf("Sum = %d\n", sum);
return 0;
}
// add函数的定义如上
3. 函数的参数
函数参数是传递给函数的值,可以是基本数据类型或指针。
#include <stdio.h>
void swap(int *x, int *y) {
int temp = *x;
*x = *y;
*y = temp;
}
int main() {
int a = 5, b = 10;
swap(&a, &b); // 调用函数swap,传入变量的地址
printf("a = %d, b = %d\n", a, b);
return 0;
}
4. 函数的返回值
函数可以返回一个值给调用者,这个值的类型由函数定义中的返回类型决定。
// 如上add函数的例子
5. 函数原型
函数原型是函数声明的简化形式,它告诉编译器函数的存在、返回类型以及参数类型,但不包含函数体。
// 函数原型
int add(int a, int b);
// 函数定义
int add(int a, int b) {
return a + b;
}
// 在main中使用add函数
6. 递归函数
递归函数是调用自身的函数。递归函数必须有一个明确的退出条件,否则会导致无限递归。
#include <stdio.h>
int factorial(int n) {
if (n == 0)
return 1;
else
return n * factorial(n - 1);
}
int main() {
int num = 5;
printf("Factorial of %d is %d\n", num, factorial(num));
return 0;
}