Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Bố cục bộ nhớ của chương trình C

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

Bố cục bộ nhớ của chương trình C

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.