1.函数是一个能完整实现某一功能的代码块
函数(一)(零基础学习C语言)
函数(一)(零基础学习C语言)
2.函数分为自定义函数和库函数
1.库函数:C语言提供的能实现一些常用功能的函数,方便程序员开发
推荐c plus plus.com这个网站查看所有的库函数
例如:printf函数strcpy函数strlen函数等
C语言中常见的库函数
函数(一)(零基础学习C语言)
IO函数
I ---> input
O ----> output
输入输出函数
根据文档查看使用库函数
例:strcpy----string copy字符串拷贝
函数:char strcpy(函数的返回值是char)(char destination//放入的地址,const char source//来源的地址){//函数的实现};
函数(一)(零基础学习C语言)
函数(一)(零基础学习C语言)
使用:strcpy(放入的地址,来源的地址);
函数(一)(零基础学习C语言)
注意:打印的不会是hello#######而是hello
因为一遇到字符串结束标志时就会停止打印
例:memset-----memory(记忆)内存set设置
void (无返回值)memset (函数名)( void ptr(地址), int value(), size_t num (num的长度)){//函数实现};
函数(一)(零基础学习C语言)
使用:memset(放入的地址,放入的内容,放入的个数);
函数(一)(零基础学习C语言)
调用库函数时,要引相应的头文件
头文件应该放在使用函数的前面
2.自定义函数:自己写的函数(能实现某些功能的独立代码块)
自定义函数和库函数一样,有函数名,返回值类型和函数参数。
返回值类型需要相同类型的变量来接收(需要返回值时使用)
无返回类型(void)(操作时使用)
(传值调用)
函数(一)(零基础学习C语言)
函数(一)(零基础学习C语言)
函数(一)(零基础学习C语言)
函数(一)(零基础学习C语言)
例:两数的交换
函数(一)(零基础学习C语言)
函数的交换(传值调用)
函数(一)(零基础学习C语言)
函数(一)(零基础学习C语言)
函数(一)(零基础学习C语言)
函数创建变量的地址不同
所以只能传址
函数的交换(传址调用)
函数(一)(零基础学习C语言)
函数(一)(零基础学习C语言)
函数(一)(零基础学习C语言)
函数参数
传递真实的参数
函数(一)(零基础学习C语言)
函数(一)(零基础学习C语言)
函数(一)(零基础学习C语言)
使用函数就是调用函数
函数(一)(零基础学习C语言)
函数的调用
传值调用
函数(一)(零基础学习C语言)
传址调用
函数(一)(零基础学习C语言)
如果考虑要改变函数外部变量时,需要考虑传址调用
练习题:
注意(代码好习惯):
1.不要在函数中打印
使函数功能更加独立
2.函数设计时功能要单一
3.先写函数怎么使用,在写函数如何实现
例一:
函数(一)(零基础学习C语言)
函数(一)(零基础学习C语言)
例题二:
函数(一)(零基础学习C语言)
函数(一)(零基础学习C语言)
例题三:
函数(一)(零基础学习C语言)
基本查找思路:
函数(一)(零基础学习C语言)
注意:
函数(一)(零基础学习C语言)
1.sz不能在函数中求取
函数(一)(零基础学习C语言)
2.判断条件一定要有等号
3.返回mid和-1
-1一定没有存在于数组下标中
函数(一)(零基础学习C语言)
例题四:
函数(一)(零基础学习C语言)
传址调用实现函数
函数(一)(零基础学习C语言)
注意:(p)++的优先级
++的优先级要高于

函数(一)(零基础学习C语言)
函数内部可以再次调用函数
函数(一)(零基础学习C语言)
语句中函数调用的优先级最高
先调用函数再执行语句
函数(一)(零基础学习C语言)
注意:printf函数的返回值为打印了多少个元素
其中43为两个元素
函数(一)(零基础学习C语言)