虽然内存IC包括DRAM、SRAM、ROM等多种形式,但从外部来看,其基本机制都是一样的。

        内存IC中有电源、地址信号、数据信号、控制信号等用于输入输出的大量引脚(IC的引脚),通过为其指定地址(address),来进行数据的读写。

        对于程序员来说,这种形象的解说有助于了解内存。

        虽然内存的实体是内存IC,不过从程序员的角度来看,也可以把它假想成每层都存储着数据的楼房,并不需要过多地关注内存 IC 的电源和控制信号等。

        编程语言中的数据类型表示存储的是何种类型的数据。从内存来看,就是占用的内存大小(占有的楼层数)的意思。即使是物理上以1个字节为单位来逐一读写数据的内存,在程序中,通过指定其类型(变量的数据类型等),也能实现以特定字节数为单位来进行读写。

        指针也是一种变量,它所表示的不是数据的值,而是存储着数据的内存的地址。通过使用指针 就可以对任意指定地址的数据进行读写。虽然前面所提到的假想内存 IC 中仅有 10 位地址信号,但大家在 Windows 计 机上使用的程序通常都是32位(4字节)的内存地址。这种情况下,指针变量的长度也是 32 位。指针的数据类型表示一次可以读写的长度。

        数组是指多个同样数据类型的数据在内存中连续排列的形式。作为数组元素的各个数据会通过连续的编号被区分开来,这个编号称为索引。例如:charge[100],表示的是可以使用g[0]~g[99],因为数组的索引从0开始的。

        这些就是我对本章节比较重要的知识点的理解。