第四章——熟练使用有棱有角的内存
内存的物理机制很简单
内存的物理机制:
内存实际上是一种名为内存IC的电子元件,包括DRAM、SRAM、ROM等多种形式,内存IC中有电源、地址信号、数据信号、控制信号等用于输入输出的大量引脚,通过为其制定地址,来进行数据的读写。
内存的逻辑模型是楼房
内存的实体是内存IC,从程序员的角度来看,可以把他假象成每层都存储着的楼房;在程序员眼里的内存模型中还包含着数据类型,编程语言中的数据类型表示存储的是何种类型的数据。变量的数据类型不同,所占用的内存大小也不一样。
简单的指针
指针:指针也是一种变量,表示的是存储着数据的内存的地址,通过使用指针,可以对任意制定地址的数据进行读写,Wondows计算机上使用的程序通常都是32位的内存地址,指针变量的长度也是32位。
在定义指针时,通常会在变量名前加一个星号(*),定义各种数据类型指针的定义,表示的是从指针存储的地址中一次能够读写的数据字节数。
数组是高效使用内存的基础
数组是指多个同样数据类型的数据在内存中连续排列的形式。
作为数据元素的各个数据会通过连续的编号被区分开来,这个编号称为索引。指定索引后,就可以对该索引所对应地址的内存进行读写操作。
数组的定义中所指定的数据类型,也表示一次能够读写的内存大小。
数组是内存的使用方法的基础,是因为数组和内存的物理构造是一样的。
栈、队列以及环形缓冲区
栈对内存数据进行读写时,使用的是LIFO(后入先出)方式,当我们需要暂时舍弃当前的数据,随后再原貌还原时,使用栈来达到临时保存数据的目的。
队列对内存数据进行读写时,使用的是FIFO(先入先出)方式,队列一般是以环形缓冲区的方式来实现的。
链表和二叉查找树
链表高效对数组元素进行追加和删除
二叉查找树更加高效对数组数据进行检索。
这就是本章所学内容,下章见!
标签:有感,程序,读写,数据类型,内存,数组,数据,第四章,指针 From: https://www.cnblogs.com/zyk0915-/p/18023356