• 课程时长:0分钟

    适用行业:

  • 0人学过

    学习路径:

  • 收藏 分享
  • 难度:

  • 课程介绍
  • 课程章节
  • 讨论交流
  • 学员评价
  • 咨询客服
Image

课程简介

       本套课程是c语言标准库的讲解,主要涉及到的知识点有,时间时区,内存管理,算法,宽字符API,数学库,字符检测等,详细见目录。 在这套教程之前我们就出了一套《手把手入门硬核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语言就是一套底层语言,最接近汇编的语言,也是效率最高的语言,也是可以嵌入硬件的语言。我们这套课程全面攻克内存分配,让您可以自由操控内存,想将内存捏成什么样就什么样,详细的情况我们在目录有介绍。

课程信息

教学总长度11小时左右,使用软件: UE4 2.5.3、VS 2017。

交流答疑

对于课程内容相关的疑问,提供有交流群,不但可以在群里与同学交流,分享资料,与教程内容有关的技术问题还可以进入答疑专区寻求帮助。老师一般会在2个工作日内为您解答。

C++的难度在哪里呢?

       难在奇怪的高级语法和变态的模板等,因为核心难度被c语言抢走了,C++只能通过语法和模板还有面向对象的特性,凌驾于C语言之上。掌握c语言再去学C++,或者其他语言,如探囊取物。

核心知识点

Image

算法

讲解基础算法,讲解什么是算法,算法的基础思想,常见的算法,如何用算法去解决问题等。

内存操作

讲解如何通过内存操作对数据进行加密解密,对内存进行序列化和反序列化等,掌握该技能,对以后开发资源数据,数据包等非常大的作用。

Image
Image

时间类型函数

讲解时间类型的函数,不管用mysql还是用UE4都会涉及到本地时间和格林威治时间,会详细讲解关于时间转换方面的内容。

数学库

数学库一直是作为图像图形类的必须课程之一,而且是重中之重。本节会讲解windows c库的数学库,对我们以后开发游戏的shader和业务逻辑等,非常大的帮助。

Image

课程目录

第一章:ctype库讲解
0101_字符串的分类
0102_检测字符是否为十进制数字
0103_检测字符是否为字母
0104_检测字符是否为字母或者数字
0105_检测字符是否为控制字符
0106_检测字符是否为图形显示字符
0107_检测字符是否为小写字符
0108_检测字符是否为大写字符
0109_检测字符是否为可以打印
0110_检测字符是否为标点符号
0111_检测字符是否为空格字符
0112_检测字符是否为十六进制

第二章:float库讲解
0201_float内存的分布和公式
0202_获取精度的位数
0203_获取四舍五入后最大不变位数
0204_获取基数为2和10的最小负整数
0205_获取基数为2和10的最大整数
0206_深入理解有效尾数和最大的浮点值
0207_最小的浮点值

第三章:limits库讲解
0301_Char的范围宏
0302_Int的范围宏
0303_Short范围宏
0304_long范围宏
0305_float范围宏
0306_精讲解limits文件

第四章:clocale库讲解
0401_locale库函数深入讲解
0402_lconv结构深入讲解
0403_修改本地区域性语言
0404_区域与货币

第五章:数学库讲解
0501_三角函数
0502_反三角函数
0503_双曲线函数
0504_反双曲线函数
0505_指数幂运算
0506_对数运算
0507_开平方根
0508_modf和fmod
0509_求绝对值
0510_向上取整和向下取整
0511_四舍五入
0512_取最大和最小
0513_极限与检测

第六章:setjump库讲解
0601_goto标签跳跃
0602_通过jmp实现函数之间的跳跃

第七章:stdarg库讲解
0701_实现char类型任意参数传递
0702_实现任意类型的任意参数传递

第八章:stddef库讲解
0801_ptrdiff t
0802_size t
0803_wchar t
0804_NULL和内存分配
0805_内存偏移

第九章:time库讲解
0901_clock t
0902_格林威治时间
0903_时间存储结构
0904_asctime
0905_time
0906_localtime
0907_clock

0908_ctime
0909_difftime
0910_gmtime
0911_mktime
0912_strftime
0913_日期格式详解
0914_timespec get
0915_get tzname

第十章:stdlib库讲解
1001_随机
1002_atexit
1003_类型转化为字符串
1004_div
1005_swab
1006_at quick exit
1007_rotl
1008_rotr
1009_wmakepath s和makepath s
1010_wsplitpath s和splitpath s
1011_wfullpath和 fullpath

十一章:stdio库讲解
1101_文件流操作
1102_文件的逐字节读取
1103定义输出流的缓冲区规则
1104_fputs
1105_fgetpos和fsetpos
1106_fseek
1107_重定向标准输出流
1108_重定向标准输入流
1109_重定向标准错误输出流
1110_fwrite和fread
1111_ftell
1112_rewind
1113_puts系列
1114_setbuf
1115_创建临时流
1116_创建唯一临时文件名
1117_get系列

十二章:深入实战内存操作
1201_自定义引擎资源存储原理
1202_序列化自定义数据结构类型到本地磁盘
1203_反序列化自定义数据结构类型从磁盘到内存
1204_如何切割内存豆腐
1205_加密我们的数据明文

十三章:宽字符函数讲解
1301_宽字符
1302_wcslen
1303_MultiByteToWideChar
1304_WideCharToMultiByte
1305_wcscpy
1306_wcscat
1307_wcscoll
1308_wchar库的API讲解

十四章:算法
1401_算法的概念
1402_递推法
1403_递归法
1404_穷举法
1405_贪心算法
1406.二分法和冒泡排序
1407.二分查找

十五章:封装c库
1501_封装time库到lib
1502_封装time系列的接口
1503_测试封装的time库接口
1504_封装宽字符转换接口
1505_测试宽字符API
1506_c std结束语

多端支持

课程支持在ios以及Android端设备播放,您只需要登录各大手机应用平台,搜索“ABOUTCG学院”即可下载安装应用。

课程要求

本教学需要您对基础的3D概念和术语有一定的了解,比如Polygon(多边形),Edge(边),Face(面)Axis(轴向),Space(空间),Map  (贴图) 等。

  • 此课程的内容正在持续更新中

    此课程获得之后永久可以观看

    本课程包含录播视频课程内容

  • FIRST BLOOD

    首杀英雄风云榜 - 下单快如闪电