[C语言]函数

1.函数的概念

什么是函数?其实在小学初中时候我们已经接触到了函数的概念,比如y=kx+b(一次函数)
不过在程序当中函数的概念又有所区别
编程最初是来自于美国,当时的英文单词为function,翻译为汉语为函数,还有的翻译为子程序其实更恰当一些,
在编程当中,所谓** 函数指的是实现某一小功能的一小段代码 **

函数的分类(函数包括库函数与自定义函数)

在这里插入图片描述

2.库函数

库函数的基本概念

最初的C语言,为了规范编程语言,规定了函数的使用标准以及一些细节,但是C语言并没有实践出这些函数,而是由编译器厂商来实现,这样就出现了一些由不同公司程序员写出的函数,然后C语言把这些质量很好的函数集成到一个库里,方便日后大家引用直接使用,因此库函数随之诞生。

库函数的查阅网站

库函数相关头⽂件:https://zh.cppreference.com/w/c/header

库函数文档查阅的基本模块

  1. 函数原型
  2. 函数功能介绍
  3. 参数和返回类型说明
  4. 代码举例
  5. 代码输出
  6. 相关知识链接

3.自定义函数

基本格式:

在这里插入图片描述

为了便于理解,举例表示

//自定义函数示例:编写一个简单的两个整形相加的自定义函数
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>


int add(int x, int y)
{
	return x + y;
}
int main()
{
	int a = 0;
	int b = 0;
	scanf("%d %d", &a, &b);
	
	int c = add(a, b);
	printf("%d", c);
	return 0;
}

形参和实参

什么是形参和实参

说白了,形参和实参不都是一种参数嘛,都是对应函数的一种参数,只不过形参是一种形式上的,实参是确确实实存在的参数
以上面的代码来举例,实参对应的就是
在这里插入图片描述
同样,形参就是自定义函数中我们所写的接收实参的形式参数:
在这里插入图片描述

形参和实参的关系:

实参把自己的参数传递给形参,形参用来接收实参的参数,虽然如此,两者有着独立的存储空间
为了证明两者存储的独立,我们不妨进行一个代码测试即可,(同样是上面的代码)
在这里插入图片描述
在这里插入图片描述
结论:实参和形参的存储是独立的
形参是实参的⼀份临时拷贝。

return语句

这里简要的介绍一下return语句的几个性质

1.return后面可以是数字也可以是表达式,如果是数字则返回值直接是数字,如果是表达式,则优先执行表达式,在返回对应的值

2.return后面也可以什么都没有,意思是什么都不返回,一般与返回类型设置为void的函数相呼应

3.如果return返回类型与函数的返回类型产生冲突,系统会强行把return的返回类型转换成函数的返回类型

4.return返回之后,函数彻底终结,直接跳出函数,函数后面代码不执行;而break则针对的是循环的彻底终结,并没有直接跳出函数。

5.如果if存在于函数之中,要确保每一种可能都要有return返回,避免编译错误

6.数组做函数参数(由于内容较多,下节再单独分析讲述)

7.嵌套调用和链式访问

1.什么是嵌套调用?

举个例子而言,你在主函数中调用printf函数这就是主函数嵌套printf函数的情况

2.什么是链式访问?

我感觉这个就是类似于多个函数的缩写,像链条一样将函数串联起来的情况
举个例子:

printf("%d",printf("%d",printf("%d",66)))

上述就是一种链式访问,不过比较简单哈,也可以链式不同的函数,这都可以的。
不过小伙伴们可以知道上述代码运行的结果吗?
answer:6621
because:想要细究答案,那得弄清楚printf的返回值是什么?
通过查阅,我们可以知道printf的返回值是打印数字的个数

8.函数的声明和定义(内容较多,下节以例子再单独讲)

ok,到这里就完成啦,希望多多指正啦~

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值