1.函数的概念
什么是函数?其实在小学初中时候我们已经接触到了函数的概念,比如y=kx+b(一次函数)
不过在程序当中函数的概念又有所区别
编程最初是来自于美国,当时的英文单词为function,翻译为汉语为函数,还有的翻译为子程序其实更恰当一些,
在编程当中,所谓** 函数指的是实现某一小功能的一小段代码 **
函数的分类(函数包括库函数与自定义函数)
2.库函数
库函数的基本概念
最初的C语言,为了规范编程语言,规定了函数的使用标准以及一些细节,但是C语言并没有实践出这些函数,而是由编译器厂商来实现,这样就出现了一些由不同公司程序员写出的函数,然后C语言把这些质量很好的函数集成到一个库里,方便日后大家引用直接使用,因此库函数随之诞生。
库函数的查阅网站
库函数相关头⽂件:https://zh.cppreference.com/w/c/header
库函数文档查阅的基本模块
- 函数原型
- 函数功能介绍
- 参数和返回类型说明
- 代码举例
- 代码输出
- 相关知识链接
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,到这里就完成啦,希望多多指正啦~