评分9.8
110节课
144486人已学
增强对C语言的了解,为用户后期基于C语言的开发工作做准备。
课程介绍:
课程主要讲解了c语言数据与程序架构、函数、指针、数据结构等。
章节目录:
第1章_C语言类型及语句
1.01_第一个代码
1.02_圆的面积
1.03_关键字
1.04_数据类型
1.05_变量
1.06_字符与字符串
1.07_类型转换
1.08_运算符
1.09_位运算
1.10_选择语句
1.11_for循环
1.12_while
第2章_数组
2.00_一维数值数组
2.01_二维数组
2.02_一维字符数组
2.03_二维字符数组
第3章_函数
3.00_函数
3.01_函数
3.02_内存布局
3.03_静态变量
第4章_预处理
4.00_预处理
4.01_预处理
4.02_防止头文件重复包含
4.03_原码反码补码
第5章_指针
5.00_指针的概述
5.01_指针变量的定义
5.02_指针变量的强制类型转换
5.03_指针变量的注意事项
5.04_数组元素的指针
5.05_指向同一数组的两指针关系
5.06_指针数组
5.07_二维数组分析
5.08_指针作为函数的参数
5.09_函数指针
5.10_函数指针的应用
第6章_动态内存申请
6.00_动态申请
第7章_字符串处理函数
7.00_字符串处理函数
7.01_字符串处理函数
7.02_试题的讲解
7.03_指针试题讲解
7.04_strtok
7.05_sprintf
7.06_字符串切割
第8章_结构体、共用体、枚举
8.00_结构体概述
8.01_结构体变量的操作
8.02_冒泡排序
8.03_指针第2套讲解
8.04_typedef
8.05_结构体指针
8.06_结构体对齐
8.07_结构体嵌套结构体
8.08_指定对齐规则
8.09_位段
8.10_共用体_枚举
第9章_链表
9.00_链表的插入
9.01_链表的尾部插入
9.02_链表的有序插入以及查询
9.03_链表的增删改查
9.04_链表的逆序
9.05_知识点回顾
9.06_结构体指针成员深拷贝问题
第10章_文件
10.00_文件的概述
10.01_磁盘文件的分类
10.02_文件指针的概述
10.03_文件的打开方式介绍
10.04_课程回顾
10.05_文件的打开方式
10.06_文件的字节读写函数
10.07_文件字节读写练习
10.08_字符串的读与写函数
10.09_文件块读写
10.10_课程的回顾
10.11_文件的格式化读写
10.12_文件的随机读写
10.13_feof判断文件是否结束
10.14_文件加密的思路
10.15_文件加密的框架
10.16_文件加密至获取文件名
10.17_文件加密器
第11章_Linux系统安装及使用
11.00_ubuntu介绍
11.01_ubuntu的samba服务器配置
11.02_ssh服务器配置
第12章_Linux基础之命令
12.00_linux命令的介绍
12.01_help_more_重定向管道的概述
12.02_ls命令
12.03_cd命令
12.04_pwd_mkdir_touch_cat_rm命令详解
12.05_安装vmtools以及网络设置
12.06_安装更新源
12.07_ln连接文件
12.08_cp命令
12.09_mv_find
12.10_grep_tar
12.11_tar
12.12_vim的配置
12.13_wim的模式介绍
12.14_编辑模式下的命令
12.15_课程回顾
12.16_vim的快捷指令
12.17_gcc编译器
12.18_gdb调试
12.19_notepad++
12.20_vscode的安装
第13章_Makefile
13.00_make的优点
13.01_简单的makfile
13.02_添加多个目标
13.03_多文件的初级makefile
13.04_makeifile的自定义变量
13.05_课程回顾
13.06_makefile
第1章 - 第1章_C语言类型及语句
第2章 - 第2章_数组
第3章 - 第3章_函数
第4章 - 第4章_预处理
第5章 - 第5章_指针
第6章 - 第6章_动态内存申请
第36节 - 6.00_动态申请
点击播放第7章 - 第7章_字符串处理函数
第8章 - 第8章_结构体、共用体、枚举
第9章 - 第9章_链表
第10章 - 第10章_文件
第62节 - 10.00_文件的概述
点击播放第63节 - 10.01_磁盘文件的分类
点击播放第64节 - 10.02_文件指针的概述
点击播放第65节 - 10.03_文件的打开方式介绍
点击播放第66节 - 10.04_课程回顾
点击播放第67节 - 10.05_文件的打开方式
点击播放第68节 - 10.06_文件的字节读写函数
点击播放第69节 - 10.07_文件字节读写练习
点击播放第70节 - 10.08_字符串的读与写函数
点击播放第71节 - 10.09_文件块读写
点击播放第72节 - 10.10_课程的回顾
点击播放第73节 - 10.11_文件的格式化读写
点击播放第74节 - 10.12_文件的随机读写
点击播放第75节 - 10.13_feof判断文件是否结束
点击播放第76节 - 10.14_文件加密的思路
点击播放第77节 - 10.15_文件加密的框架
点击播放第78节 - 10.16_文件加密至获取文件名
点击播放第79节 - 10.17_文件加密器
点击播放第11章 - 第11章_Linux系统安装及使用
第12章 - 第12章_Linux基础之命令
第83节 - 12.00_linux命令的介绍
点击播放第84节 - 12.01_help_more_重定向管道的概述
点击播放第85节 - 12.02_ls命令
点击播放第86节 - 12.03_cd命令
点击播放第87节 - 12.04_pwd_mkdir_touch_cat_rm命令详解
点击播放第88节 - 12.05_安装vmtools以及网络设置
点击播放第89节 - 12.06_安装更新源
点击播放第90节 - 12.07_ln连接文件
点击播放第91节 - 12.08_cp命令
点击播放第92节 - 12.09_mv_find
点击播放第93节 - 12.10_grep_tar
点击播放第94节 - 12.11_tar
点击播放第95节 - 12.12_vim的配置
点击播放第96节 - 12.13_wim的模式介绍
点击播放第97节 - 12.14_编辑模式下的命令
点击播放第98节 - 12.15_课程回顾
点击播放第99节 - 12.16_vim的快捷指令
点击播放第100节 - 12.17_gcc编译器
点击播放第101节 - 12.18_gdb调试
点击播放第102节 - 12.19_notepad++
点击播放第103节 - 12.20_vscode的安装
点击播放第13章 - 第13章_Makefile
前面已经说明,要访问内存,就需要相应的地址以表明访问哪块内存,而变量是一个映射,因此变量名就相当于一个地址。对于内存的操作,在一般情况下就只有读取内存中的数值和将数值写入内存(不考虑分配和释放内存),在C++中,为了将一数值写入某变量对应的地址所标识的内存中(出于简便,以后称变量a对应的地址为变量a的地址,而直接称变量a的地址所标识的内存为变量a),只需先书写变量名,后接“=”,再接欲写入的数字以及分号。如下:
在C++中,所有的代码都是通过标识符(Identifier)、表达式(Expression)和语句(Statement)及一些必要的符号(如大括号等)组成,在此先说明何谓标识符。
我们从一开始就一直在利用C++的输入输出在做着各种练习,输入输出是由iostream库提供的,所以讨论此标准库是有必要的,它与C语言的stdio库不同,它从一开始就是用多重继承与虚拟继承实现的面向对象的层次结构,作为一个c++的标准库组件提供给程序员使用。
PWM输出时的Dead Zone(死区)作用是在电平翻转时插入一个时间间隔,避免关闭前一个设备和打开后一个设备时因为开关速度的问题出现同时开启状态而增加负荷的情况(在没有彻底关闭前打开了后一个设备),尤其是电流过大时容易造成短路等损坏设备,如:互补PWM波输出在逆变器(直流转交流)中的应用。
很多时候对nand的操作都是通过主控的nand控制器直接完成,或者更多时候是通过MTD标准操作接口完成读写擦的过程,然而有些细节问题有必要在这里讨论一下.
创建设备类,是为了让mdev知道根据这些信息来创建设备节点,根据/sys来创建,所以从devfs开始,根文件系统就引入了一个/sys目录,/sys/dev下面都是内核加载的驱动的主从设备号