课程分类

课程介绍
课程目录
用户评论
课程介绍
课程目录
用户评论

你将获得

  • 掌握某些知识点
  • 学会某些技巧(或思路)

教学服务

  • icon

    1v1专属答疑服务

  • icon

    BAT专家面试辅导

讲师介绍

  • 互联网课程品牌《朱老师物联网大讲堂》创始人。著有《嵌入式linux与物联网软件开发-C语言内核深度解析》等书籍,精通U-Boot、linux kernel移植及驱动程序开发;精通C、C++、Java、C#等高级语言,熟悉ARM体系结构;熟悉linux、WinCE下的开发流程;授课风趣幽默,讲解条理清晰,对知识有自己独到见解,善于发散学生的思维。

  • 课程详情

    课程目标
    本课程综合讲解了数组、字符串、字符数组、结构体定义及使用、结构体对齐、复杂结构体结合指针、共用体定义及使用、大小端模式、枚举常量及其与宏定义的关联。通过本部分共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语言中的枚举常量,首先通过实例告诉大家枚举常量的定义和使用方法,然后讲解枚举和宏定义的异同,旨在告诉大家什么时候可以用枚举。

     

    温馨提示
    • 请勿私下交易
      请勿在平台外交易。与机构和老师私下交易造成的任何损失及纠纷,腾讯课堂不承担任何责任
    • 听课说明

      1、电脑:访问腾讯课堂官网 ke.qq.com 查看我的课表或下载win/mac客户端听课

      2、手机/平板:下载腾讯课堂APP, 进入学习页面听课