C Kích thước của toán tử
Nhận kích thước bộ nhớ
Chúng tôi đã giới thiệu trong chương về kiểu dữ liệu rằng kích thước bộ nhớ của một biến thay đổi tùy theo loại:
Data Type | Size |
---|---|
int | 2 or 4 bytes |
float | 4 bytes |
double | 8 bytes |
char | 1 byte |
Kích thước bộ nhớ đề cập đến dung lượng mà một loại chiếm trong bộ nhớ của máy tính .
Để thực sự có được kích thước (tính bằng byte) của một kiểu dữ liệu hoặc biến, hãy sử dụng toán tử sizeof
:
Ví dụ
int myInt;
float myFloat;
double myDouble;
char myChar;
printf("%lu\n", sizeof(myInt));
printf("%lu\n", sizeof(myFloat));
printf("%lu\n", sizeof(myDouble));
printf("%lu\n", sizeof(myChar));
Hãy tự mình thử » Lưu ý rằng chúng tôi sử dụng thông số định dạng %lu
để in kết quả, thay vì %d
. Đó là bởi vì trình biên dịch mong đợi toán tử sizeof trả về một long unsigned int
( %lu
), thay vì int
( %d
). Trên một số máy tính, nó có thể hoạt động với %d
, nhưng sử dụng %lu
sẽ an toàn hơn.
Tại sao tôi nên biết kích thước của các loại dữ liệu?
Sử dụng đúng kiểu dữ liệu cho đúng mục đích sẽ tiết kiệm bộ nhớ và cải thiện hiệu suất chương trình của bạn.
Bạn sẽ tìm hiểu thêm về toán tử sizeof
sau trong hướng dẫn này và cách sử dụng nó trong các tình huống khác nhau.