欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 名人名企 > 【C语言】函数篇

【C语言】函数篇

2025/3/16 6:04:57 来源:https://blog.csdn.net/m0_72516377/article/details/146081688  浏览:    关键词:【C语言】函数篇

目录

  • 函数的定义
    • 函数定义的语法
    • 代码示例
  • 函数的声明
    • 函数声明的语法
    • 代码示例
  • 函数的调用
    • 函数调用的语法
    • 代码示例
  • 函数的参数
    • 形式参数
    • 实际参数
    • 参数传递方式
      • 值传递
      • 地址传递
  • 函数的返回值
    • 返回值类型
    • 返回值的使用
  • 递归函数
    • 递归函数的组成
    • 示例:计算阶乘
  • 函数的作用域
    • 全局函数
    • 静态函数
  • 内联函数
    • 内联函数的定义
  • 函数指针
    • 函数指针的定义
    • 代码示例
  • 可变参数函数
    • 示例:计算多个整数的和
  • 补充内容
    • C 语言不支持默认参数
    • 数组作为函数参数
    • main 函数的命令行参数
    • 函数原型与头文件
    • 函数指针的应用(回调函数)
    • 可变参数的注意事项
    • 递归与迭代的选择
    • 内联函数的注意事项
    • 函数的副作用
    • 函数的链接属性
    • 总结

函数的定义

函数是完成特定任务的独立代码块,有助于代码的模块化和复用。

函数定义的语法

返回值类型 函数名(参数列表) {函数体;return 返回值; // 如果返回值类型为 void,则不需要 return 语句,或者使用 return;
}
  • 返回值类型:指定函数返回的数据类型,如 int、float、char 等。如果函数不返回任何值,使用 void 类型。
  • 函数名:是函数的标识符,遵循标识符命名规则。
  • 参数列表:是函数接收的输入参数,多个参数用逗号分隔。每个参数由数据类型和参数名组成。如果函数不接收参数,可以使用 void 或空括号。
  • 函数体:包含实现函数功能的代码。
  • return 语句:用于返回函数的结果。如果返回值类型为 void,可以省略 return 语句,或者使用 return; 来提前结束函数。

代码示例

// 定义一个函数,用于计算两个整数的和
int add(int a, int b) {int result = a + b;return result;
}

函数的声明

函数声明用于告诉编译器函数的名称、返回值类型和参数列表,以便在调用函数之前进行类型检查。

函数声明的语法

返回值类型 函数名(参数列表);

代码示例

// 函数声明
int add(int a, int b);int main() {int sum = add(3, 5);return 0;
}// 函数定义
int add(int a, int b) {return a + b;
}

函数的调用

调用函数就是执行函数体中的代码,并可以传递参数和接收返回值。

函数调用的语法

函数名(参数列表);

代码示例

#include <stdio.h>// 函数定义
int add(int a, int b) {return a + b;
}int main() {int num1 = 3, num2 = 5;// 函数调用int sum = add(num1, num2);printf("The sum is: %d\n", sum);return 0;
}

函数的参数

函数的参数分为形式参数和实际参数。

形式参数

形式参数是函数定义中声明的参数,用于接收调用函数时传递的值。

// 形式参数 a 和 b
int add(int a, int b) {return a + b;
}

实际参数

实际参数是函数调用时传递给函数的值。

int main() {int num1 = 3, num2 = 5;// 实际参数 num1 和 num2int sum = add(num1, num2);return 0;
}

参数传递方式

值传递

将实际参数的值复制给形式参数,函数内部对形式参数的修改不会影响实际参数。

#include <stdio.h>void swap(int a, int b) {int temp = a;a = b;b = temp;
}int main() {int x = 3, y = 5;swap(x

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词