在 C 語言程序中,內存通常被分為多個邏輯段,每個段存儲不同類型的數據。理解這些段的結構和功能,有助于你更高效地編寫、調試和優化程序。以下是 C 語言程序中主要的內存段及其特點:
1. 代碼段(Text Segment)
- 存儲內容:編譯后的機器指令(程序代碼)。
- 特性:
- 只讀:防止程序在運行時修改自身代碼。
- 共享:多個進程可共享同一份代碼(如多個終端同時運行同一個程序)。
- 示例:函數體、循環、條件語句等編譯后的指令。
2. 數據段(Data Segment)
- 存儲內容:已初始化的全局變量和靜態變量。
- 特性:
- 可讀可寫:程序運行時可修改這些變量的值。
- 初始化值:變量的初始值來自源代碼中的顯式賦值。
- 示例:
int global_var = 10; // 全局變量(已初始化) static int static_var = 20; // 靜態變量(已初始化)