What is output? #include
Trả lời:
Đáp án đúng: A
Trong đoạn code C này, chúng ta cần xác định kích thước của struct `st`. Struct này có một thành viên `x` kiểu `int` và một thành viên `y` kiểu `static int`.
Điểm quan trọng ở đây là thành viên `static` thuộc về class (struct) chứ không thuộc về instance của struct. Điều này có nghĩa là `static int y` không chiếm không gian bộ nhớ trong mỗi đối tượng `st` được tạo ra. Kích thước của một struct chỉ được xác định bởi các thành viên *non-static* của nó.
Trong trường hợp này, struct `st` chỉ có một thành viên non-static là `int x`. Kích thước của một `int` thường là 4 bytes (tùy thuộc vào compiler và kiến trúc hệ thống, nhưng phổ biến nhất là 4 bytes). Do đó, `sizeof(st)` sẽ trả về 4.
Vì vậy, đáp án đúng là A. 4.