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

       在高级编程语言中的数据类型表示的是占据内存区域的大小和存储在该内存区域的数据类型对象数据。根据数据的大小链表分叉成两个方向的数据结构称为二叉查找树。计算机是进行数据处理的设备,而程序表示的就是处理顺序和数据结构。由于处理对象数据是存储在内存和磁盘上的,因此程序必须能自由地使用内存和磁盘。

       内存实际上是一种名为内存IC的电子元件,里面有电源、地址信号、数据信号、控制信号等用来输入输出的大量引脚(IC的引脚),通过为其指定地址,来进行数据的读写。在编程语言中,数据类型表示存储的是占用内存大小的意思。根据程序中所指定的变量的数据类型的不同,读写的物理内存大小也会随之发生变化。在不同的编程语言中,变量可以指定的数据类型的最大长度也不相同。

       指针是C语言的重要特征,它是一种变量,所表示的不是数据的值,而是存储着数据的内存的地址。通过使用指针,就可以对任意指定地址的数据进行读写。数组是指多个同样数据类型的数据在内存中连续排列的形式。作为数组元素的各个数据会通过连续的编号被区分开来,这个编号被称为索引。

       栈和队列,都可以不通过指定地址和索引来对数组的元素进行读写。需要临时保存计算过程中的数据、连接在计算机上的设备或者输入输出的数据时,都可以通过这些方法来使用内存。栈和队列的区别在于数据出入的顺序是不同的。在对内存数据进行读写时,栈用的是LIFO(Last Input First Out,后入先出)方式,而队列用的是FIFO(First Input First Out,先入先出)方式。二叉查找树是指在链表的基础上往数组中追加元素时,考虑到数据的大小关系,将其分成左右两个方向的表现形式。

posted @ 2019-03-03 20:42  谢九九  阅读(152)  评论(0编辑  收藏  举报