【C语言】函数

本文详细介绍了C语言中的函数,包括函数的概念、库函数的作用、自定义函数的创建、函数参数、函数调用(传值调用与传址调用)、函数的嵌套调用和链式访问、函数的声明和定义、以及函数递归的原理和应用场景。通过实例解析了函数递归在计算斐波那契数列中的应用,同时对比了递归与迭代在效率上的差异。
摘要由CSDN通过智能技术生成

函数是什么

在维基百科上,对函数的定义是子函数
*在计算机科学中,子程序(Subroutine,procedure,function,routine,method,subprogram,callable unit),是一个大型程序中的某部分代码,由一个或多个语句块组成。它负责完成某项特定任务,而且相较于其他代码,具备相对的独立性。
*一般会有输入参数并有返回值,提供对过程的封装和细节的隐藏。这些代码通常被集成为软件库。

对于我们所使用的函数,比如函数A,我们给他两个数值a和b,输出c,我们使用这些函数时只用使用就是了,不知道这个函数的具体运算,这就是所说的对过程的封装和细节的隐藏。

库函数

为什么会有库函数?
我们在编程时,会有一些像printf,strcpy之类的函数会被频繁使用,这些不是业务性的代码,我们都会用到,为了支持可移植性和提高程序的效率,所以C语言的基础库中提供了一系列类似的库函数,方便程序员进行软件开发。
我们常用的库文件类型大致有以下几类:
IO即输入输出函数,字符串操作,字符操作,内存操作,时间日期,数学,其他库等。
在使用库文件时,我们必须要使用#include来引用库文件所对应的头文件。
我们学习库文件,可以使用Cplusplus,这里包含所有库文件,对于它的使用用法,举例都有详细介绍,虽然全是英文,但这是我们必须要走的,实在不行也可以翻译网页,但是翻译可能有一些不准确。

自定义函数

函数的基本结构包括函数名,返回类型,函数参数,知道了这些,我们就可以根据自己的需要来自定义函数。
当然库文件和头文件也是可以我们自己写的。

#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>

int Sum(int x, int y)
{
   
	int z = 0;

	z = x + y;

	return z;
}

int main()
{
   
	int a = 10, b = 20;

	int c = Sum(a , b);

	printf("%d\n", c);

	return 0;
}

这就是一个简单的自定义加法函数了,如果我们要自己写库函数和头文件的话,需要在新建添加一个文件.c和文件.h,
在这里插入图片描述
如图,我们在引用我们自己写的头文件时要用引号,引用后直接使用函数就行了,这其实也就是库函数的本质,我们引用头文件和定义函数的效果是一模一样的。

函数参数

函数参数分为形参和实参,分别是形式参数和实际参数的缩写。
形参就是我们上面定义的Sum函数中的x和y,他们实际并不存在,在接收到实参的值并进行一系列运算后就自行销毁了,而实参就像我们在main函数中定义的a和b,有他实际的意义。
形参其实就是实参的临时拷贝。

函数调用

调用分为传值调用和传址调用。

int turn(int x,
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

恒世伞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值