Initialized data segment là gì?

Noun C
data segment data region

Trong ngôn ngữ C, initialized data segment thường được gọi đơn giản là data segment. Data segment là một phần của không gian địa chỉ ảo (virtual address space) của chương trình, chứa các biến toàn cục (global variable) và biến tĩnh (static variable) được khởi tạo bởi người lập trình. Lưu ý rằng data segment không phải là chỉ đọc vì giá trị của các biến (variable) có thể được thay đổi tại thời điểm chạy. Segment này có thể được phân loại thêm thành initialized read-only area và initialized read-write area.

Ví dụ: chuỗi (string) toàn cục được định nghĩa bởi char s[] = "hello world" trong C và một câu lệnh C như int debug = 1 bên ngoài hàm main (tức là global) sẽ được lưu trữ trong initialized read-write area. Và một câu lệnh C toàn cục như const char* string = “hello world” làm cho string literal "hello world" được lưu trữ trong initialized read-only area và chuỗi biến con trỏ string trong initialized read-write area. Ví dụ khác là: static int i = 10 sẽ được lưu trữ trong data segment.

Learning English Everyday