Bố cục bộ nhớ chương trình C gồm các đoạn (segment):
- Stack Segment
- Heap Segment
- Text Segment
- Data Segment

Chức năng các đoạn
| STT | Đoạn & Mô tả |
|---|---|
| 1 | Stack Chứa dữ liệu tạm: tham số hàm, địa chỉ trả về, biến cục bộ. Dùng cơ chế LIFO. Kích thước biến đổi. Tăng từ địa chỉ cao xuống thấp. |
| 2 | Heap Bộ nhớ cấp phát động runtime (malloc, calloc). Kích thước biến đổi. Tăng từ địa chỉ thấp lên cao. |
| 3 | Text Chứa mã lệnh (instructions). Được biểu diễn bởi section .text. Kích thước cố định. |
| 4 | Data Chứa biến toàn cục và static. Bao gồm .data (dữ liệu khởi tạo) và .bss (dữ liệu không khởi tạo, zero-filled). Kích thước cố định. |
Data segment chia thêm 2 phần:
| STT | Đoạn & Mô tả |
|---|---|
| 1 | Initialized data segment Biến static/toàn cục đã khởi tạo. Kích thước cố định. |
| 2 | Un-initialized data segment (BSS) Biến static/toàn cục chưa khởi tạo. Zero-filled. Read-write. Kích thước cố định. |