Cho đoạn chương trình. Kích thước của biến u là bao nhiêu byte:
struct ng {
unsigned ngay;
unsigned thang;
unsigned nam;
};
struct diachi {
int sonha;
char tenpho[20]
};
union u {
struct ng date;
struct diachi address;
}
diachi_ngaysinh;
struct ng {
unsigned ngay;
unsigned thang;
unsigned nam;
};
struct diachi {
int sonha;
char tenpho[20]
};
union u {
struct ng date;
struct diachi address;
}
diachi_ngaysinh;
Trả lời:
Đáp án đúng: B
Đề bài yêu cầu xác định kích thước của biến `u`. Biến `u` là một union. Trong C/C++, `union` là một kiểu dữ liệu đặc biệt cho phép lưu trữ các kiểu dữ liệu khác nhau trong cùng một vùng nhớ. Kích thước của `union` bằng kích thước của thành viên lớn nhất của nó.
Trong trường hợp này, `union u` có hai thành viên:
1. `struct ng date`
2. `struct diachi address`
Tính kích thước của `struct ng`:
- `unsigned ngay`: 4 bytes
- `unsigned thang`: 4 bytes
- `unsigned nam`: 4 bytes
Tổng kích thước của `struct ng` là 4 + 4 + 4 = 12 bytes.
Tính kích thước của `struct diachi`:
- `int sonha`: 4 bytes
- `char tenpho[20]`: 20 bytes
Tổng kích thước của `struct diachi` là 4 + 20 = 24 bytes.
Vì kích thước của `struct diachi` (24 bytes) lớn hơn kích thước của `struct ng` (12 bytes), kích thước của `union u` là 24 bytes. Tuy nhiên, đoạn code cung cấp khai báo `diachi_ngaysinh;` mà không khai báo biến `u`. Vì vậy kích thước của biến `u` chưa được xác định và không có đáp án nào đúng.
Nếu đề bài hỏi kích thước của biến `diachi_ngaysinh` thì ta cần phải xem `diachi_ngaysinh` là biến kiểu gì. Nếu đề bài sửa lại là `union u diachi_ngaysinh;` thì kích thước của `diachi_ngaysinh` sẽ bằng kích thước của union `u` là 24 bytes. Nhưng ở đây `diachi_ngaysinh` lại không được khai báo kiểu, và không có đáp án đúng.
Tổng hợp 600+ câu hỏi trắc nghiệm lập trình C có đáp án đầy đủ nhằm giúp các bạn dễ dàng ôn tập lại toàn bộ các kiến thức.
50 câu hỏi 60 phút
Câu hỏi liên quan

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
