1.
库函数:C语言标准中约定好,由编译器的厂商提供实现的函数,存储在标准库中
如:
库函数学习网站:
库函数分类:
注意:
pow函数的返回值为double类型
所以在运行时,编译器会警告:将double类型转换为int类型,此时可以用强制类型转换
strcpy(arr1, arr2);
将arr2的全部内容复制到arr1中
包含\0
需要包含的头文件<string.h>
memset(arr,‘x’,数字n)
memory set
将数组前n个字节改为’x’
(内存:memory)
2.
自定义函数
组成方式:
ret_type fun_name(para1, * )
//ret_type:返回类型
//fun_name:函数名
//para1:参数
{
Statement;//语句项
}
是否需要参数和返回值:
根据函数是否需要参数进行操作来判断是否传参
根据函数是否需要输出来决定是否需要返回值
此时返回值用void
“void代表 空 ,放在返回值位置上,说明此函数执行完不返回任何值”
3.
参数
分为实际参数和形式参数
真实传给函数的参数为实际参数
实参可以是常量、变量、表达式、函数
在进行函数调用时,参数值必须是确定的
函数名后括号中的变量形式参数
只有当进行函数调用时,才为形式参数分配内存空间,即实例化
并且函数调用结束后,参数自动销毁
函数调用时,将实参传递给形参
形参是实参的一份临时拷贝
对形参的修改不会改变实参
对于上面这段话的理解,可以看我的另一篇博客
实际参数和形式参数有各自的地址
所以应将实参的地址传给函数
而函数的形参也相应的改为指针变量:
类型+*+形参
4.
函数的调用
分为传值调用和传址调用
传值调用
实参和形参占用不同的空间,对形参的修改不影响实参
传址调用
将实参的内存地址传给函数内部进行调用
在函数内部可以直接操作实参
判断使用方法:
是否需要改变实参
5.
return 0;
结束后面的循环,返回假
return 1;
结束后面的循环,返回真
6.
布尔类型变量
需要包含的头文件:
<stdbool.h>
_Bool/bool类型的变量只有两种取值,true和false
所以return 0;
可表示为return false;
7.
引用头文件的简单方法:
自己新建一个头文件,里面包含上自己需要的头文件,
这样只写一个就够了
8.
求平均的另一种方法
a+(b-a)/2
9.
函数的嵌套调用
函数可以互相嵌套调用
但不能嵌套定义,即在函数内定义另一个函数
10.
函数的链式访问
一个函数的返回值作为另一个函数的参数
11.
printf的返回值类型是整型
返回值大小是字符个数