计算机数据存储
应用程序一般在计算机的内存中运行,对各种数据进行操作。
数据的存储
计算机的存储空间可以分为内存和外存两部分。
对于计算机的存储单元,无论是内存还是外存,都是由无数个电子开关组成的。这些电子开关有打开和关闭两个状态,打开时状态为1,关闭时状态为0。
一个位(bit)代表了二进制的一个基本单元,也是计算机存储的基本单元。
内存单元
日常的文件一般都存储在硬盘等外存中。当文件或应用程序执行时,将被加载到计算机内存中。因此,内存是计算机最重要的组成部分。没有内存,任何程序和文件都不能执行。
在计算机的内存中,每个字节类型的存储单元都有一个地址,通过这个地址可对内存中的数据进行保存和读取操作。
在计算机中,内存地址是按照字节顺序依次编码的。这样便于程序的寻址和数据的读写。对于计算机的外存,也是按照相同的方法来存储的。
在程序中,一般不需要也不推荐直接对内存地址进行操作,而是由编译器自动分配。
数据的存储
在计算机内部,位(bit)是最基本的存储单元。不同类型的数据都需要转换成二进制后,再存放到内存中。
字符数据的存储
每个字符变量被分配一个字节的内存空间,因此只能存放一个字符。字符值是以ASCII码的形式存放在变量的内存单元之中的。
数值数据的存储
一般,计算机中,用2个字节来存放整数,4个字节来存放实数
程序在内存中的映射
对于计算机而言,一切都是数据。程序也是一种数据,一个程序体内,往往也包括大量的普通数据及指令数据。计算机运行时,普通数据是通过程序加载到计算机内存中的,而程序则是由操作系统来加载到内存中的。
一个应用程序在计算机中的映射,应该包括如下几个方面:
内存为应用程序的指令分配的空间
内存为应用程序的静态数据分配的空间
内存为应用程序的动态数据预留的空间---动态数据堆栈
动态数据分“自动回收”和“手动回收”两种。存放自动回收的动态数据的内存空间,成为栈空间,存放手动回收的内存空间,称为堆空间。