程序是怎样跑起来的 第四章

讲的是熟练使用内存。4.1讲内存的物理机制。内存实际上是一种名为内存ic的电子元件,里面有电源 地址信号 数据信号 控制信号等用于输入输出的大量引脚。总体来讲,它的内部有大量可存储8位数据的地方,通过地址指定这些场所,之后可以进行数据的读写。比如往内存中写入1字节的数据,1 给vcc接入5v,gnd接入0v的电源,他两个就是电源  2 使用地址信号指定数据的存储场所 3 把数据的值输入给数据信号 4 把写入信号设定成1.读出数据时,先指定存储场所,再把读出信号设成1. 
4.2讲内存的逻辑模型,这里比作楼房,假想成每层都存储着数据的楼房。又讲数据类型,他表示存储的是哪种类型的数据通过指定变量的数据类型,也能实现以特定字节数为单位来读写。 4.3讲指针,它是一种变量,表示的不是数据的值,而是存储数据的内存的地址,通过使用指针,就可以对任意指定地址的数据进行读写。再定义指针时,通常在变量名前加一个星号(*),如short *e;前面的数据类型表示从指针存储的地址中一次能读写的数据字节数。
4.4讲数组,指多个同样数据类型的数据在内存中连续排列的形式,数据被连续的编号区分开,这个编号就是索引。
4.5讲栈  队列 环形缓冲区。栈和队列都可以不通过指定地址和索引来对元素进行读写。栈的数据出入顺序是先入后出,队列是先入先出。在内存中预留出他俩所需要的空间,并确定好写入和读出的顺序,就不用指定地址和索引了。4.6讲链表。它不用考虑索引的顺序就可以对数组元素进行读写的方式,在数组的各各元素中,除了数据的值,为其附带上下一个元素的索引就构成一个元素,多个数组元素相连就是一个链表。4.7讲二叉查找树,指在链表的基础上往数组中追加元素时,根据数据的大小将其分成左右两个方向的表现形式,这是在逻辑上实现的,实际内存不会这样。使用二叉查找树可以使数据的搜索更有效率。

posted on 2019-03-24 21:45  hzhhzguk  阅读(127)  评论(0编辑  收藏  举报