30/09/2018, 17:20
Sự khác nhau giữa union và struct?
Mọi người cho em hỏi giữa union và struct nó khác nhau như thế nào ạ
Bài liên quan
Mọi người cho em hỏi giữa union và struct nó khác nhau như thế nào ạ
Hình như khác nhau ở chỗ,
struct
cấp phát bộ nhớ cho mỗi thành phần của nó một vùng nhớ khác nhau, cònunion
thì tất cả thành phần dùng dung 1 vùng nhớ, và vùng nhớ này có kích thước là kích thước của phần tử lớn nhất trongunion
.Vậy thì trong trường hợp nào mình sẽ dùng
struct
và khi nào nên dùngunion
vậy anh ? , em có đọc qua cáiunion
rồi cơ mà toàn toàn thấy mọi người toàn dùngstruct
chứ ít ai xài tớiunion
.ví dụ mình có một dữ liệu có thể lưu ở 2 dạng, ví dụ kiểu chữ và kiểu số chẳng hạn (trong các tờ biên lai thu tiền)
Dùng struct se giúp cho được việc tối ưu sử dụng bộ nhớ hơn, tránh việc thiếu bộ nhớ. chẳng hạn như bây giờ bộ nhớ bạn dùng union thì bạn sẽ phải tìm khoảng vùng nhớ lớn vừa đủ so với kích thước của phần tử lớn nhất trong khi đó dùng struct thì bạn sẽ cấp phát được nhanh hơn do bạn cứ gặp vùng nhớ nào còn thừa của bộ nhớ thì sẽ cấp cho kích thước của phần tử tương ứng. Cái này bạn đọc thêm kiến thức lý thuyết hệ điều hành bạn sẽ hiểu.
bài này giải thích khá rõ