您现在的位置是:课程

数组|字符串|结构体|共用体|枚举—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语言中的枚举常量,首先通过实例告诉大家枚举常量的定义和使用方法,然后讲解枚举和宏定义的异同,旨在告诉大家什么时候可以用枚举。

 

-->

站点信息

  • 文章统计篇文章