應用程序一般在計算機的內存中運行,對各種數據進行操作。
數據的存儲
計算機的存儲空間可以分為內存和外存兩部分。
對於計算機的存儲單元,無論是內存還是外存,都是由無數個電子開關組成的。這些電子開關有打開和關閉兩個狀態,打開時狀態為1,關閉時狀態為0。
一個位(bit)代表了二進制的一個基本單元,也是計算機存儲的基本單元。
內存單元
日常的文件一般都存儲在硬盤等外存中。當文件或應用程序執行時,將被加載到計算機內存中。因此,內存是計算機最重要的組成部分。沒有內存,任何程序和文件都不能執行。
在計算機的內存中,每個字節類型的存儲單元都有一個地址,通過這個地址可對內存中的數據進行保存和讀取操作。
在計算機中,內存地址是按照字節順序依次編碼的。這樣便於程序的尋址和數據的讀寫。對於計算機的外存,也是按照相同的方法來存儲的。
在程序中,一般不需要也不推薦直接對內存地址進行操作,而是由編譯器自動分配。
數據的存儲
在計算機內部,位(bit)是最基本的存儲單元。不同類型的數據都需要轉換成二進制後,再存放到內存中。
字符數據的存儲
每個字符變量被分配一個字節的內存空間,因此只能存放一個字符。字符值是以ASCII碼的形式存放在變量的內存單元之中的。
數值數據的存儲
一般,計算機中,用2個字節來存放整數,4個字節來存放實數
程序在內存中的映射
對於計算機而言,一切都是數據。程序也是一種數據,一個程序體內,往往也包括大量的普通數據及指令數據。計算機運行時,普通數據是通過程序加載到計算機內存中的,而程序則是由操作系統來加載到內存中的。
一個應用程序在計算機中的映射,應該包括如下幾個方面:
內存為應用程序的指令分配的空間
內存為應用程序的靜態數據分配的空間
內存為應用程序的動態數據預留的空間---動態數據堆棧
動態數據分“自動回收”和“手動回收”兩種。存放自動回收的動態數據的內存空間,成為棧空間,存放手動回收的內存空間,稱為堆空間。