c语言api_手把手入门硬核c语言标准库

哈喽 大家好 我叫人宅 很高兴和大家一起分享一下我们的这套教程 C STD(底层c语言标准库)。

这套课程是c语言标准库的讲解,主要涉及到的知识点有,时间时区,内存管理,算法,宽字符API,数学库,字符检测等,详细见目录。


你可能会问

:老师,为什么要学习这套课程呢?C语言我会呀。

这边我解答一下。这套教程可不是简简单单的讲解C语言哦,在这套教程之前我们就出了一套手把手入门硬核c语言 那套虽然基础但是已经和市面上的教程不一样了,更加硬核。

而手把手入门C std 是在 硬核c的基础上的进阶版本,更更硬核的教程。我们会全面讲解C 标准库,在开发独立引擎或者渲染器或者原生分布式服务器的时候,我们会用到大量的c语言 API。

这也帮助本来是熟悉UE4API的学员顺利过渡到c 原生API的课程。如果讲解市面上存在的教程,真的就没有必要再制作这部教程,因为录制教程真的很辛苦,要做就做硬核,要做就做不一样的。


:老师,学完这些我能做什么?

能做的太多了,即使不会C++也不妨碍很多学员可以用该库内容去做引擎或者服务器等,C++只是比C在制作服务器上更加轻松。我们在做服务器或者引擎的时候一般是将这两者语言进行混用的。

学完这些库可以做的太多了,比如算法,像二维码算法,或者像openssl加密,做完就可以提供其他人使用,除此之外还可以去看懂很多底层算法代码所使用到的c语言API,至少知道这套算法底层用的API是什么意思,而不是到处去查,查了不一定能懂。我们的UE4底层就是封装着很多c语言第三方库,比如windows sockect(通信),openssl(UE4打包pak加密)等就是c语言写的。

可以这样总结,c语言就是一套底层语言,最接近汇编的语言,也是效率最高的语言,也是可以嵌入硬件的语言。

C语言的难度是大于C++的,很多人认为c++难,其实c++难在了c语言,不是c++,比如各种算法,其实这些都是c语言的课程,不是c++,我们这套课程会讲解算法哦~

还有内存分配,也是c语言的;

我们这套课程全面攻克内存分配,让您可以自由操控内存,想将内存捏成什么样就什么样,详细的情况我们在目录有介绍:

高级宏替换应用,宏定义的跨平台预处理等这也是c语言的。

任意参数和泛化 也是c语言的内容

指针以及指针的变态用法 也是c语言的内容

各种变态的位运算 也是c语言的内容

windows线程 c语言写的

mysql c语言写的

OpenGL c语言写的

数学库 c语言写的

通过我这么一解释,我们已经将C++最本质最核心的东西呈现给大家,那就是C语言。

为什么有些程序员即使有10年工作经验,也不敢说精通c语言。


:C++的难度在哪里呢?

难在奇怪的高级语法和变态的模板上了等,因为核心难度被c语言抢走了,C++只能通过语法和模板还有面向对象的特性,凌驾于C语言之上。

掌握c语言再去学C++,或者其他语言,如探囊取物。


好,那现在我们来对每个章节做介绍:

第一章 ctype库讲解

我们经常会遇到需要判断字符的问题,比如判断当前字符是字母还是数字,判断是大写还是小写,是否有标点符号,该字符是否为十进制或者十六进制。应用的案例也很多,比如账户判断,密码判断,各种加密算法等,该库的作用非常大,掌握该库对我们以后做开发事半功倍。

第二章 float库讲解

本章节会讲解关于float库的相关内容,其中会涉及到关于float内部原理等讲解

第三章 limits库讲解

本章节会讲解 关于常见类型的范围在计算机中是如何定义的,本章节会讲解各种类型限制范围等

第四章 clocale库讲解

本章节开始讲解时区和货币,每个时区基本上对应着他自己的货币,本章我们开始讲解各种时区的转换和转换规则。

第五章 数学库讲解

本章节开始讲解数学库,数学库不仅在算法,在游戏开发,图形开发,图像处理,AI人工智能等都有极大的应用前景。了解这些库底层的数学,方便我们在日后生活中游刃有余,本章节就是在讲解数据库,为入门的学员打下扎实的基础。

第六章 setjump库讲解

本章节会讲解 设置跳跃的函数,它和我们的goto很像,但又不一样,它可以直接设置我们的函数,进行跳跃。虽然规范中已经提及不让使用goto和这类函数,但是很多底层算法中依然可以见到他们的身影,还是有必要去讲解他们的。

第七章 stdarg 库讲解

这一章节我们开始讲解stdarg 这个库,它可以给我们提供传递任意参数。最典型的就是我们的printf()这个函数原型。

第八章 stddef库讲解

这一章我们讲解c语言的内存偏移,和以后开发中常见的c语言API

第九章 time 库讲解

这一章我们开始详细讲解时间,本地时间,格林威治时间,各类地区时间的转换,以及我们怎么设置热点优化方法

第十章 stdlib库讲解

这一章节我们开始讲解stdlib 这个是我们经常会用到的c语言库,其中会讲解关于路径的操作,左移和右移函数,随机。

第十一章 stdio 库讲解

stdio是我们经常使用到的一个库,里面关于IO的函数,其中我们会讲解关于流,stdout stderro stdin,以及如何重定向io,深入理解流的IO操作等

第十二章 深入实战内存操作

这一章我们开始进入内存实战操作,目的是让学员彻底搞明白怎么操作内存,如何自定义资源的数据结构,并且将资源数据结构存储到本地磁盘,我们会在本节课程种举一个案例,并且我们还会讲解如何加密,如何解密我们的数据。

第十三章 宽字符串函数讲解

这一章我们开始讲解与窄字符串相对的宽字符串相应API,我们会讲解如何解决编码格式乱码问题,如何对宽字符串进行操作比如,拷贝,切割,移除等,最后我们会对wchar进行详细讲解。

第十四章 算法

这一章我们开始讲解算法,什么是算法,算法能干什么,算法的思路和方法,以及常见的算法案例等

第十五章 封装我们的C库

这一章我们开始封装我们的API函数库。我们会将上面讲解的很多案例内容封装到该库,比如编码格式转换,时间转换,宽字符API函数算法等。


目录

第一章 ctype库讲解

1-1 字符串的分类

1-2 检测字符是否为十进制数字

1-3 检测字符是否为字母

1-4 检测字符是否为字母或者数字

1-5 检测字符是否为控制字符

1-6 检测字符是否为图形显示字符

1-7 检测字符是否为小写字符

1-8 检测字符是否为大写字符

1-9 检测字符是否为可以打印

1-10 检测字符是否为标点符号

1-11 检测字符是否为空格字符

1-12 检测字符是否为十六进制

第二章 float库讲解

2-1 float内存的分布和公式

2-2 获取精度的位数

2-3 获取四舍五入后最大不变位数

2-4 获取基数为2和10的最小负整数

2-5 获取基数为2和10的最大整数

2-6 深入理解有效尾数和最大的浮点值

2-7 最小的浮点值

第三章 limits库讲解

3-1 Char的范围宏

3-2 Int的范围宏

3-3 Short范围宏

3-4 long范围宏

3-5 float范围宏

3-6 精讲解limits文件

第四章 clocale库讲解

4-1 locale库函数深入讲解

4-2 lconv结构深入讲解

4-3 修改本地区域性语言

4-4 区域与货币

第五章 数学库讲解

5-1 三角函数

5-2 反三角函数

5-3 双曲线函数

5-4 反双曲线函数

5-5 指数幂运算

5-6 对数运算

5-7 开平方根

5-8 modf和fmod

5-9 求绝对值

5-10 向上取整和向下取整

5-11 四舍五入

5-12 取最大和最小

5-13 极限与检测

第六章 setjump库讲解

6-1 goto标签跳跃

6-2 通过jmp实现函数之间的跳跃

第七章 stdarg 库讲解

7-1 实现char类型任意参数传递

7-2 实现任意类型的任意参数传递

第八章 stddef库讲解

8-1 ptrdiff_t

8-2 size_t

8-3 wchar_t

8-4 NULL和内存分配

8-5 内存偏移

第九章 time 库讲解

9-1 clock_t

9-2 格林威治时间

9-3 时间存储结构

9-4 asctime

9-5 time

9-6 localtime

9-7 clock

9-8 ctime

9-9 difftime

9-10 gmtime

9-11 mktime

9-12 strftime

9-13 日期格式详解

9-14 timespec_get

9-15 _get_tzname‘

第十章 stdlib库讲解

10-1 随机

10-2 atexit

10-3 类型转化为字符串

10-4 div

10-5 _swab

10-6 at_quick_exit

10-7 _rotl

10-8 _rotr

10-9 _wmakepath_s和_makepath_s

10-10__wsplitpath_s 和_splitpath_s

10-11 _wfullpath 和 _fullpath

第十一章 stdio 库讲解

11-1 文件流操作

11-2 文件的逐字节读取

11-3定义输出流的缓冲区规则

11-4 fputs

11-5 fgetpos和fsetpos

11-6 fseek

11-7 重定向标准输出流

11-8 重定向标准输入流

11-9 重定向标准错误输出流

11-10 fwrite和fread

11-11 ftell

11-12 rewind

11-13 puts系列

11-14 setbuf

11-15 创建临时流

11-16 创建本系统唯一的临时文件名

11-17 get系列

第十二章 深入实战内存操作

12-1 自定义引擎资源存储原理

12-2 序列化自定义数据结构类型到本地磁盘

12-3 反序列化自定义数据结构类型从磁盘到内存

12-4 如何切割内存豆腐

12-5 加密我们的数据明文

第十三章 宽字符串函数讲解

13-1 宽字符

13-2 wcslen

13-3 MultiByteToWideChar

13-4 WideCharToMultiByte

13-5 wcscpy

13-6 wcscat

13-7 wcscoll

13-8 wchar库的API讲解

第十四章 算法

14-1 算法的概念

14-2 递推法

14-3 递归法

14-4 穷举法

14-5 贪心算法

14-6.二分法和冒泡排序

14-7.二分查找

第十五章 封装我们的C库

15-1 封装time库到lib

15-2 封装time系列的接口

15-3 测试封装的time库接口

15-4 封装宽字符转换接口

15-5 测试宽字符API

15-6 c std结束语

手把手入门硬核c语言标准库教程地址

手把手入门硬核c标准库​www.aboutcg.org

作者其他文章作者其他文章

人宅:UE4精品课程​zhuanlan.zhihu.com
bc426a3189b5d0df2ae2872bccf3774c.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值