复杂数据结构课程介绍
本课程为《C语言高级专题》的第一部分,本专题适合有一定C语言基础(至少要学过C语言,掌握gcc开发环境,会在linux命令行下编写、编译、运行、调试简单C语言程序)的同学;如果是零基础的同学,请先观看《嵌入式工程师养成计划系列 — 朱老师带你零基础学Linux》和《嵌入式linux C语言完全学习》。
本节课程您将了解到:
1.1.程序运行为什么需要内存1
本节从本质上分析了计算机程序在计算机中是如何运行的,通过冯诺依曼结构和哈佛结构的对比,让大家对代码和数据之分有了清楚的认识。这些认识有助于你对程序运行过程的分析,从而保证将来写出优秀的程序代码。
1.2.程序运行为什么需要内存2
本节从本质上分析了计算机程序在计算机中是如何运行的,通过冯诺依曼结构和哈佛结构的对比,让大家对代码和数据之分有了清楚的认识。这些认识有助于你对程序运行过程的分析,从而保证将来写出优秀的程序代码。
1.3.位、字节、半字、字的概念和内存位宽
本节从逻辑上阐述内存的编程模型和逻辑认识,并且解释了内存单元的几个单位:位、字节、半字、字。通过本节学习希望大家从逻辑上对内存有一个认知,先建立起来大的框架性概念。
1.4.内存编址和寻址、内存对齐
本节重点讲述内存单元格和其地址的对应关系,同时讲了内存对齐的意义和重要性,试图带领大家对内存从逻辑和现实两个角度深入理解,以为后面的深入分析C语言特性打下基础。
1.5.C语言如何操作内存
本节主要讲C语言语法中对内存的使用,包括:变量定义、指针、数组等C语言基本语法,讲述这些语法和内存之间的内在联系,试图引导大家从内存的角度来理解这些语法特性。
1.6.内存管理之结构体
本节首先讲述数据结构的概念和意义,然后从数组讲起,使用数组的缺陷引出结构体,目的在于让大家明白结构体这种简单数据结构的内在,最后讲了通过结构体内嵌指针来实现面向对象,这是linux内核中常见的一种语法技巧。
1.7.内存管理之栈
1.8.内存管理之堆
1.9、复杂数据结构