您现在的位置是:课程

内存这个大话题—2.C语言高级专题第一部分

2023-06-13 21:05课程 人已围观

课程目标
本课程的目标是引导大家从本质上了解内存和C语言程序的关联,课程性质是原理性、理解性的。虽实战较少但可以用来指导实战,层次上高于实战。
适用人群
本课程为《C语言高级专题》的第一部分,本专题适合有一定C语言基础(至少要学过C语言,掌握gcc开发环境,会在linux命令行下编写、编译、运行、调试简单C语言程序)的同学;如果是零基础的同学,请先看我的《嵌入式工程师养成计划系列 — 朱老师带你零基础学Linux》和《嵌入式linux C语言完全学习》(光盘里的名字叫《嵌入式linux C编程基础》)
课程简介

嵌入式绝对是当前IT领域最炙手可热的话题了。其主要应用领域涵盖与人类相关的各行各业:

* 消费电子(手机、平板电脑、游戏机)

* 物联网(智能家居、智慧城市)

* 工业自动化(无人工厂、工业机器人)

可以毫不客气的说,IT发展的未来在于嵌入式。巨大的商机和人才缺口导致嵌入式软件工程师的薪资居高不下,引得无数青年才俊、高校学子相继加入、苦苦钻研。

 

本期课程是我们嵌入式核心课程第2部分《C语言高级专题》的第一部分,开篇就讲内存,是因为我觉得理解内存是理解C语言的根本。只有对内存有所理解才能够深入去讲C语言的其他语法特征和特性。

 

 

课程特色

*完全零基础,降低学习门槛。

*深入浅出,通俗易懂。不怕学不会,就怕你不学习。

*思路清晰、语言风趣,对着视频看也不会想睡觉······

*视频 + 文档 + 练习题 + 答疑,全方位保证学习质量。

*基础知识 + 思路引导的教学方式,授之以鱼更授之以渔。

*系列课程。本教程只是入门篇,后续还有更多更精彩视频更新中。

                                                                                   课程目录

2.1.1.程序运行为什么需要内存1[免费观看]                                                                                                                                31:07

本节从本质上分析了计算机程序在计算机中是如何运行的,通过冯诺依曼结构和哈佛结构的对比,让大家对代码和数据之分有了清楚的认识。这些认识有助于你对程序运行过程的分析,从而保证将来写出优秀的程序代码。
 

2.1.2.程序运行为什么需要内存2[免费观看]                                                                                                                                32:52

本节从本质上分析了计算机程序在计算机中是如何运行的,通过冯诺依曼结构和哈佛结构的对比,让大家对代码和数据之分有了清楚的认识。这些认识有助于你对程序运行过程的分析,从而保证将来写出优秀的程序代码。

 

2.1.3.位、字节、半字、字的概念和内存位宽                                                                                                                              47:16

本节从逻辑上阐述内存的编程模型和逻辑认识,并且解释了内存单元的几个单位:位、字节、半字、字。通过本节学习希望大家从逻辑上对内存有一个认知,先建立起来大的框架性概念。

 

2.1.4.内存编址和寻址、内存对齐                                                                                                                                               38:56

本节重点讲述内存单元格和其地址的对应关系,同时讲了内存对齐的意义和重要性,试图带领大家对内存从逻辑和现实两个角度深入理解,以为后面的深入分析C语言特性打下基础。

 

2.1.5.C语言如何操作内存                                                                                                                                                          44:02

本节主要讲C语言语法中对内存的使用,包括:变量定义、指针、数组等C语言基本语法,讲述这些语法和内存之间的内在联系,试图引导大家从内存的角度来理解这些语法特性。

 

2.1.6.内存管理之结构体                                                                                                                                                            27:12

本节首先讲述数据结构的概念和意义,然后从数组讲起,使用数组的缺陷引出结构体,目的在于让大家明白结构体这种简单数据结构的内在,最后讲了通过结构体内嵌指针来实现面向对象,这是linux内核中常见的一种语法技巧。

 

2.1.7.内存管理之栈                                                                                                                                                                   28:22

本节初步讲解栈stack,特点在于从内存角度讲解栈。

 

2.1.8.内存管理之堆                                                                                                                                                                   36:20

本节讲解堆这种内存管理方法,并对比堆和栈的区别,综合栈和堆讲解操作系统的内存管理策略。

 

2.1.9、复杂数据结构                                                                                                                                                                37:53

本节首先讲解了链表、二叉树、哈希表等复杂数据结构,然后重点讲了数据结构和算法的意义,以及学习方法和态度。

 

-->

站点信息

  • 文章统计篇文章