嵌入式技术
函数是C语言中的基本构建块之一,它允许我们将代码组织成可重用、模块化的单元。
本文将逐步介绍C语言函数的基础概念、参数传递、返回值、递归以及内联函数和匿名函数。
#include < stdio.h >
// 声明函数
int addNumbers(int a, int b) {
int sum = a + b;
return sum;
}
int main() {
// 调用函数
int result = addNumbers(3, 4);
printf("两数之和:%dn", result);
return 0;
}
addNumbers
的函数,它接收两个整数参数并返回它们的和。main
函数中,我们调用了addNumbers
函数,并将结果打印到控制台上。两数之和:7
#include < stdio.h >
// 按值传递
void incrementByValue(int num) {
num += 1;
}
// 按引用传递
void incrementByReference(int* numPtr) {
(*numPtr) += 1;
}
int main() {
int num = 5;
incrementByValue(num);
printf("按值传递后的值:%dn", num);
incrementByReference(&num);
printf("按引用传递后的值:%dn", num);
return 0;
}
incrementByValue
和incrementByReference
。incrementByValue
按值传递参数,即在函数内部对参数的修改不会影响到原始变量。incrementByReference
按引用传递参数,通过传递指针的方式,可以在函数内部修改原始变量的值。按值传递后的值:5
按引用传递后的值:6
函数可以返回一个值,这使得我们可以从函数中获取计算结果或执行状态。
#include < stdio.h >
// 返回两个数中较大的数
int max(int a, int b) {
if (a > b) {
return a;
} else {
return b;
}
}
int main() {
int a = 3;
int b = 4;
int maxValue = max(a, b);
printf("较大的数:%dn", maxValue);
return 0;
}
max
函数接收两个整数参数并返回较大的数。main
函数中,我们调用max
函数,并将结果打印到控制台上。较大的数:4
#include < stdio.h >
// 计算阶乘
int factorial(int n) {
if (n == 0 || n == 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int main() {
int num = 5;
int result = factorial(num);
printf("%d的阶乘:%dn", num, result);
return 0;
}
factorial
函数使用递归的方式计算一个数的阶乘。main
函数中,我们调用factorial
函数,并将结果打印到控制台上。5的阶乘:120
inline
来标识。#include < stdio.h >
// 内联函数
inline int square(int num) {
return num * num;
}
int main() {
int result = square(5);
printf("平方:%dn", result);
return 0;
}
square
,它计算一个数的平方。main
函数中,我们调用square
函数,并将结果打印到控制台上。平方:25
#include < stdio.h >
// 匿名函数模拟
typedef int (*Operation)(int, int);
int performOperation(int a, int b, Operation op) {
return op(a, b);
}
int main() {
Operation add = [](int a, int b) {
return a + b;
};
int result = performOperation(3, 4, add);
printf("结果:%dn", result);
return 0;
}
Operation
来模拟匿名函数。add
,它实现了两个数的加法运算。然后,我们将add
函数作为参数传递给performOperation
函数,并打印结果到控制台上。结果:7
通过这篇文章,我们学会了
1、函数的概念,参数传递,函数返回值
2、递归函数
3、内联函数
4、匿名函数
全部0条评论
快来发表一下你的评论吧 !