目录
一.函数的概念
C语⾔中的函数就是⼀个完成某项特定的任务的⼀⼩段代码。
在C语⾔中的两类函数:
• 库函数
• ⾃定义函数
二.库函数
1. 函数原型
2. 函数功能介绍
3. 参数和返回类型说明
4. 代码举例
5. 代码输出
6. 相关知识链接
三. ⾃定义函数
自定义函数返回类型可以是 void ,表⽰什么都不返回 。为了⽅便使⽤函数,有了名字⽅便调⽤,所以函数名尽量要根据函数的功能起的有意义。
四. 形参和实参
1 .实参
我们把int r = Add(a, b);调⽤Add函数时,传递给函数的参数a和b,称为实际参数,简称实参。
2.形参
int Add(int x, int y)定义函数的时候,在函数名 Add 后的括号中写的 x 和 y ,称为形式参数,简称形参。
3.实参和形参的关系
1.改变形参不能改变外部的实参。
2.形参是实参的⼀份临时拷⻉。
3.函数没有调用时,新参没有空间。
五. return 语句
1.return后边可以是⼀个数值,也可以是⼀个表达式,如果是表达式则先执⾏表达式,再返回表达式的结果。
2.return后边也可以什么都没有,直接写 return; 这种写法适合函数返回类型是void的情况。
3.return返回的值和函数返回类型不⼀致,系统会⾃动将返回的值隐式转换为函数的返回类型。
4.return语句执⾏后,函数就彻底返回,后边的代码不再执⾏。
5.如果函数中存在if等分⽀的语句,则要保证每种情况下都有return返回,否则会出现编译错误。
六.链式访问
所谓链式访问就是将⼀个函数的返回值作为另外⼀个函数的参数,像链条⼀样将函数串起来就是函数的链式访问。
第三个printf打印43,在屏幕上打印2个字符,再返回2
第⼆个printf打印2,在屏幕上打印1个字符,再放回1
第⼀个printf打印1
七. 函数的声明和定义
1.函数的定义可以放在任意位置,函数的声明必须放在函数的使用之前。
2.函数定义在使用之后,使用之前没有声明时,编译器编译时识别不了该函数。
3.函数的声明只是告诉编译器函数返回值类型、函数名字以及函数所需要的参数,函数定义才是说明函数是怎么实现的。
4.函数必须保证先声明后使用。
八.static 和 extern
⼀个全局变量被static修饰,使得这个全局变量只能在本源⽂件内使⽤,不能在其他源⽂件内使⽤。但是全局变量被 static 修饰之后,外部链接属性就变成了内部链接属性,只能在⾃⼰所在的源⽂件内部使⽤了,其他源⽂件,即使声明了,也是⽆法正常使⽤的。
第一个当再次进入函数时i还会被赋值为0,第二个经过i++后再次进入会保留i的值。
extern 是⽤来声明外部符号的,如果⼀个全局的符号在A⽂件中定义的,在B⽂件中想使⽤,就可以使⽤ extern 进⾏声明,然后使⽤。
QAQ
谢谢大家的点赞和关注