linux高階程式設計 程式設計中的記憶體管理

2021-07-16 03:30:25 字數 719 閱讀 3399

***************= 記憶體管理 ***************

1.從地位址到高位址依次為:**區、資料區、堆區、棧區、命令列引數及環境變數區域

2.區域性變數:區域性變數位於棧區

棧區特點:

1.棧區當中變數未初始化之前都為隨機值

2.在變數作用域結束後,變數空間被作業系統收回

全域性變數:全域性變數位於資料區

資料區特點:

1.資料區中變數未初始化之前都是0

2.在程式結束後,變數空間被作業系統收回

靜態變數:靜態變數位於資料區

特點:1.資料區中變數未初始化之前都是0

2.在靜態變數作用域結束後,並不會被作業系統收回變數空間

3.靜態變數也是有作用域的,雖然靜態變數在作用域結束後沒有被作業系統**變

量空間但在作用域外扔無法操作該靜態變數

常量:常量位於資料區

資料區分為:

1.文字常量區

存放字串常量

2.未初始化的靜態變數區

存放未初始化化的靜態變數

.bss

3.已初始化的靜態變數區

存放已經初始化的靜態變數

.rodata

1.堆區:程式設計師通過malloc函式獲得的一片區域

2.注意:程式通過malloc獲得堆區空間後,在程式結束時必須要free掉堆區空間否則將導致記憶體洩漏

malloc

free

linux高階程式設計 前言 記憶體管理

楊強 linux高階程式設計 day01 am 格式控制符 p 中的p是pointer 指標 的縮寫。指標的值是語言實現 編譯程式 相關的,但幾乎所有實現中,指標的值都是乙個表示位址空間中某個儲存器單元的整數。printf函式族中對於 p一般以十六進製制整數方式輸出指標的值,附加字首0x。程式示例1...

Linux 高階Socket程式設計

基本套接字分為客戶機 伺服器和點對點模式。c s sever client 一般採用tcp b s browser server 一般採用udp 常用的資料結構有in addr 儲存ip位址 sockaddr in 表示internet協議位址結構 sockaddr 儲存主機ip位址和介面資訊 st...

linux系統高階程式設計

linux下高階程式設計的特點 涉及到核心向使用者空間提供的介面 函式 介面的功能 引數 返回值 檔案io 標頭檔案 unistd.h fcntl.h 是從使用者空間角度考慮的輸入輸出 從核心讀資料或從檔案中讀資料叫 輸入 read函式 寫資料到核心或寫資料到檔案中叫 輸出 write 函式 開啟或...