發新話題

[分享] C程序存儲空間佈局

C程序存儲空間佈局

C程序一直由下列部分組成:
1)正文段——CPU執行的機器指令部分;一個程序只有一個副本;只讀,防止程序由於意外事故而修改自身指令;
2)初始化數據段(數據段)——在程序中所有賦了初值的全局變量,存放在這裡。
3)非初始化數據段(bss段)——在程序中沒有初始化的全局變量;內核將此段初始化為0。
4)棧——增長方向:自頂向下增長;自動變量以及每次函數調用時所需要保存的信息(返回地址;環境信息)。
5)堆——動態存儲分。

|-----------|
|             |
|-----------|
|    棧     |
|---------- |
|     |       |
|    \|/      |
|            |
|            |
|     /|\    |
|      |     |
|----------|
|     堆   |
|-----------|
| 未初始化 |
|-----------|
|初始化 |
|-----------|
|正文段 |
|-----------|

TOP

發新話題

本站所有圖文均屬網友發表,僅代表作者的觀點與本站無關,如有侵權請通知版主會盡快刪除。