ToB企服应用市场:ToB评测及商务社交产业平台

标题: 逍遥自在学C语言 | 函数初级到高级解析 [打印本页]

作者: 滴水恩情    时间: 2023-6-29 00:49
标题: 逍遥自在学C语言 | 函数初级到高级解析
前言

函数是C语言中的基本构建块之一,它允许我们将代码组织成可重用、模块化的单元。
本文将逐步介绍C语言函数的基础概念、参数传递、返回值、递归以及内联函数和匿名函数。
一、人物简介



二、基础概念

  1. #include <stdio.h>
  2. // 声明函数
  3. int addNumbers(int a, int b) {
  4.   int sum = a + b;
  5.   return sum;
  6. }
  7. int main() {
  8.   // 调用函数
  9.   int result = addNumbers(3, 4);
  10.   printf("两数之和:%d\n", result);
  11.   return 0;
  12. }
复制代码
  1. 两数之和:7
复制代码
三、参数传递

  1. #include <stdio.h>
  2. // 按值传递
  3. void incrementByValue(int num) {
  4.   num += 1;
  5. }
  6. // 按引用传递
  7. void incrementByReference(int* numPtr) {
  8.   (*numPtr) += 1;
  9. }
  10. int main() {
  11.   int num = 5;
  12.   incrementByValue(num);
  13.   printf("按值传递后的值:%d\n", num);
  14.   incrementByReference(&num);
  15.   printf("按引用传递后的值:%d\n", num);
  16.   return 0;
  17. }
复制代码
  1. 按值传递后的值:5
  2. 按引用传递后的值:6
复制代码
四、返回值

函数可以返回一个值,这使得我们可以从函数中获取计算结果或执行状态。
  1. #include <stdio.h>
  2. // 返回两个数中较大的数
  3. int max(int a, int b) {
  4.   if (a > b) {
  5.     return a;
  6.   } else {
  7.     return b;
  8.   }
  9. }
  10. int main() {
  11.   int a = 3;
  12.   int b = 4;
  13.   int maxValue = max(a, b);
  14.   printf("较大的数:%d\n", maxValue);
  15.   return 0;
  16. }
复制代码
  1. 较大的数:4
复制代码
五、递归函数

  1. #include <stdio.h>
  2. // 计算阶乘
  3. int factorial(int n) {
  4.   if (n == 0 || n == 1) {
  5.     return 1;
  6.   } else {
  7.     return n * factorial(n - 1);
  8.   }
  9. }
  10. int main() {
  11.   int num = 5;
  12.   int result = factorial(num);
  13.   printf("%d的阶乘:%d\n", num, result);
  14.   return 0;
  15. }
复制代码
  1. 5的阶乘:120
复制代码
六、内联函数

  1. #include <stdio.h>
  2. // 内联函数
  3. inline int square(int num) {
  4.   return num * num;
  5. }
  6. int main() {
  7.   int result = square(5);
  8.   printf("平方:%d\n", result);
  9.   return 0;
  10. }
复制代码
  1. 平方:25
复制代码
七、匿名函数

  1. #include <stdio.h>
  2. // 匿名函数模拟
  3. typedef int (*Operation)(int, int);
  4. int performOperation(int a, int b, Operation op) {
  5.   return op(a, b);
  6. }
  7. int main() {
  8.   Operation add = [](int a, int b) {
  9.     return a + b;
  10.   };
  11.   int result = performOperation(3, 4, add);
  12.   printf("结果:%d\n", result);
  13.   return 0;
  14. }
复制代码
  1. 结果:7
复制代码
小结

通过这篇文章,我们学会了
1、函数的概念,参数传递,函数返回值
2、递归函数
3、内联函数
4、匿名函数
<blockquote>

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4