BSS段
在採用段內存管理的架構中,BSS段(bss segment)通常是指用來存放程序中未初始化的全局變量的一塊內存區域。BSS是英文Block Started by Symbol的簡稱。BSS段屬於靜態內存分配段。
數據段
在採用段式內存管理的架構中,數據段(data segment)通常是指用來存放程序中已初始化的全局變量的一塊內存區域。數據段屬於靜態內存分配。
代碼段
在採用段式內存管理的架構中,代碼段(text segment)通常是指用來存放程序執行代碼的一塊內存區域。這部分區域的大小在程序運行前就已經確定,並且內存區域屬於只讀。在代碼段中,也有可能包含一些只讀的常數變量,例如字符串常量等。
堆棧
堆棧又稱堆棧(stack)在計算機科學中,是一種特殊的鏈表形式的數據結構,它的特殊之處在於只能允許在鏈表的一端(稱爲棧頂,英文爲top)進行添加和刪除操作。另外堆棧數據結構的實現也可以通過數組來完成。
嚴格來說堆是指Heap,程序運行時供程序員來支配的一段內存。而棧Stack,多指函數調用時候參數的相互傳遞存在的內存區域。
由於堆棧數據結構只允許在一端進行操作,因而按照先進後出(LIFO-Last In First Out)的原理工作。
堆棧數據結構支持兩種基本操作:壓棧(push)和彈棧(pop):
1. 壓棧(入棧):將對象或者數據壓入棧中,更新棧頂指針,使其指向最後入棧的對象或數據。
2. 彈棧(出棧):返回棧頂指向的對象或數據,並從棧中刪除該對象或數據,更新棧頂