目录
编辑3. 参数和返回类型说明 (Return Value)
前言
对于函数这个名词,我相信大家并不陌生,y = kx+b,k和b都是常数,给⼀个任意的x,就
得到⼀个y值,但对于C语言的函数,我们是不是也是这样理解的,话不多说,正文开始。
一、函数的概念
其实在C语⾔也引⼊函数(function)的概念,有些翻译为:子程序,⼦程序这种翻译更加准确⼀些。C语⾔中的函数就是⼀个完成某项特定的任务的⼀⼩段代码。这段代码是有特殊的写法和调⽤⽅法的。C语⾔的程序其实是由⽆数个⼩的函数组合⽽成的;
也可以说:⼀个⼤的计算任务可以分解成若⼲个较⼩的函数(对应较⼩的任务)完成。同时⼀个函数如果能完成某项特定任务的话,这个函数也是可以复⽤的,提升了开发软件的效率。
再C语言中一般有两种函数:
- 库函数
- ⾃定义函数
二、库函数
1.标准库和头文件
C语⾔标准中规定了C语⾔的各种语法规则,C语⾔并不提供库函数;C语⾔的国际标准ANSI C规定了⼀些常⽤的函数的标准,被称为标准库,那不同的编译器⼚商根据ANSI提供的C语⾔标准就给出了⼀系列函数的实现。这些函数就被称为库函数。
我们前⾯内容中学到的 printf 、 scanf 都是库函数,库函数的也是函数,不过这些函数已经是现
成的,我们只要学会就能直接使⽤了。有了库函数,⼀些常⻅的功能就不需要程序员⾃⼰实现了,⼀定程度提升了效率;同时库函数的质量和执⾏效率上都更有保证。
用通俗易懂的话讲就是:平常常常使用的函数C语言标准库不实现函数,而是给定标准(函数名,参数,功能......);那谁来实现呢?当然是编译器厂商来实现了;比如:微软:msvc、苹果:clang、还有一些开元组织:gcc......(根据标准约定实现)
各种编译器的标准库中提供了⼀系列的库函数,这些库函数根据功能的划分,都在不同的头⽂件中进⾏了声明。
库函数相关头⽂件:C 标准库头文件 - cppreference.comhttps://zh.cppreference.com/w/c/header
有数学相关的,有字符串相关的,有⽇期相关的等,每⼀个头⽂件中都包含了,相关的函数和类型等信息,库函数的学习不⽤着急⼀次性全部学会,慢慢学习,各个击破就⾏ 。
2.库函数使用方式
库函数的学习和查看⼯具很多,⽐如:
C/C++官⽅的链接:C 标准库头文件 - cppreference.comhttps://zh.cppreference.com/w/c/header
cplusplus.com:C 库 - C++ 参考 (cplusplus.com)https://legacy.cplusplus.com/reference/clibrary/举例:sqrt
double sqrt (double x);
//sqrt 是函数名
//x 是函数的参数,表⽰调⽤sqrt函数需要传递⼀个double类型的值
//double 是返回值类型 - 表⽰函数计算的结果是double类型的值
#include <stdio.h>
#include <math.h>
int main()
{
int ret = (int)sqrt(100); //返回double类型
printf("%d", ret);
return 0;
}
3.如何通过以上的网站查看库函数信息 (以sqrt为例)
3.1 功能
Compute square root 计算平⽅根
Returns the square root of x.(返回平⽅根)
Returns
3.2 头文件包含
库函数是在标准库中对应的头⽂件中声明的,所以库函数的使⽤,务必包含对应的头⽂件,不包含是可能会出现⼀些问题的。
3.3 库函数文档的⼀般格式
1. 函数原型
![](https://i-blog.csdnimg.cn/direct/3eb9883db40e42db90eaa6aa873bee5d.png)
2. 函数功能介绍
![](https://i-blog.csdnimg.cn/direct/2c5e2e49b18f44dca0b791b4a49835e6.png)
3. 参数和返回类型说明 (Return Value)
![](https://i-blog.csdnimg.cn/direct/7c138712d6fc4384aac317b3de287846.png)
4. 代码举例 (Example)
![](https://i-blog.csdnimg.cn/direct/c82746f9c4b64948a10d08a50bb11178.png)
5. 代码输出 (Output)
![](https://i-blog.csdnimg.cn/direct/131c0cfe5de14223a7d8c4a749144f73.png)
6. 相关知识链接 (See also)
总结
这期主要分享了如何学习库函数,这个过程很漫长,希望大家可以与我一同坚持下,下期见!