您现在的位置是:课程
数组|字符串|结构体|共用体|枚举—2.C语言高级专题第五部分
2023-06-30 22:06课程 人已围观
- 课程目标
- 本课程综合讲解了数组、字符串、字符数组、结构体定义及使用、结构体对齐、复杂结构体结合指针、共用体定义及使用、大小端模式、枚举常量及其与宏定义的关联。通过本部分共15节课的理论讲解加代码实战,希望大家能够对以上知识点有更深入的理解。
- 适用人群
- 本课程为《C语言高级专题》的第5部分,本专题适合有一定C语言基础(至少要学过C语言,掌握gcc开发环境,会在linux命令行下编写、编译、运行、调试简单C语言程序)的同学;如果是零基础的同学,请先看我的《嵌入式工程师养成计划系列 — 朱老师带你零基础学Linux》和《嵌入式linux C语言完全学习》
- 课程简介
-
嵌入式绝对是当前IT领域最炙手可热的话题了。其主要应用领域涵盖与人类相关的各行各业:
* 消费电子(手机、平板电脑、游戏机)
* 物联网(智能家居、智慧城市)
* 工业自动化(无人工厂、工业机器人)
可以毫不客气的说,IT发展的未来在于嵌入式。巨大的商机和人才缺口导致嵌入式软件工程师的薪资居高不下,引得无数青年才俊、高校学子相继加入、苦苦钻研。
课程特色
*完全零基础,降低学习门槛。
*深入浅出,通俗易懂。不怕学不会,就怕你不学习。
*思路清晰、语言风趣,对着视频看也不会想睡觉······
*视频 + 文档 + 练习题 + 答疑,全方位保证学习质量。
*基础知识 + 思路引导的教学方式,授之以鱼更授之以渔。
*系列课程。本教程只是入门篇,后续还有更多更精彩视频更新中。
课程目录2.5.1.程序中内存从哪里来1[免费观看] 48:02
本节首先引出程序运行时对内存的依赖,然后分析这些变量需要的内存从哪里来,进而引出栈、堆、数据区这几个重要的内存来源,并详解栈内存分配及使用的细节。
2.5.2.程序中内存从哪里来2 31:44
本节详细讲解堆内存的特点和使用,写代码带大家来学会使用malloc、free函数获取及释放堆内存,并且讲解了堆内存的一些编程细节。
2.5.3.程序中内存从哪里来3 32:28
本节详细讲解堆内存的特点和使用,写代码带大家来学会使用malloc、free函数获取及释放堆内存,并且讲解了堆内存的一些编程细节。
2.5.4.程序中内存从哪里来4 52:40
本节首先引入代码段、数据段、bss段等概念,然后重点分析了数据段和bss段与C语言编程变量的关系,最后给大家总结了程序通过数据段方式获取内存的原理和使用细节。
2.5.5.C语言的字符串类型 31:47
本节讲述C语言字符串类型的本质,着重解释了C语言字符串的三个特点:指针指向头、固定结尾、内存相连分布。
2.5.6.字符串和字符数组的细节 48:28
本节讲述字符串和字符数组及其各种初始化式,然后结合sizeof运算符和strlen函数,通过代码实践试图让大家理解字符串和字符数组的具体表现。
2.5.7.C语言之结构体概述 35:13
本节概述结构体,主要讲了结构体和数组的差异,然后以点号方式和指针方式这两种方式来访问结构体成员,以此告诉大家结构体成员访问的原理。
2.5.8.结构体的对齐访问1 29:47
本节开始讲解结构体的对齐访问,通过数个结构体实例来讲解对齐访问的规则和sizeof测试结构体的大小,最后补充讲解了#prgama和__attribute__这两种方式下对结构体对齐规则的影响。共分3节,本节为第1节。
2.5.9.结构体的对齐访问2 30:42
本节开始讲解结构体的对齐访问,通过数个结构体实例来讲解对齐访问的规则和sizeof测试结构体的大小,最后补充讲解了#prgama和__attribute__这两种方式下对结构体对齐规则的影响。共分3节,本节为第2节。
2.5.10.结构体的对齐访问3 36:35
本节开始讲解结构体的对齐访问,通过数个结构体实例来讲解对齐访问的规则和sizeof测试结构体的大小,最后补充讲解了#prgama和__attribute__这两种方式下对结构体对齐规则的影响。共分3节,本节为第3节。
2.5.11.offsetof宏与container_of宏 54:45
本节讲解linux内核中常用的2个结构体相关的宏:offsetof和container_of,这两个宏充分利用了结构体、指针、数据类型、内存等知识,是C语言中比较高端的语法应用。通过理解及使用这两个宏可以极大提升C语言的功底,并且为学习linux内核做积累。
2.5.12.共用体union 31:41
本节首先介绍union,然后着重对比分析了union和struct的异同点,重点强调了共用体和结构体的差别,让大家理解共用体的实质。
2.5.13.大小端模式1 36:33
本节首先引入大小端的概念,然后介绍了常用的几种用代码来测试机器大小端模式的方式.
2.5.14.大小端模式2 27:27
本节继续讲解大小端,介绍了几种看起来似乎可以但是实际上并不工作的大小端测试代码。同时介绍了在通信系统中应用的大小端概念。
2.5.15.枚举 42:55
本节讲述C语言中的枚举常量,首先通过实例告诉大家枚举常量的定义和使用方法,然后讲解枚举和宏定义的异同,旨在告诉大家什么时候可以用枚举。
下一篇:033:C++开发