Title Image

Blog Logo

Struct vs Union

🌱 Struct vs Union?

    Struct và Union là 2 kiểu dữ liệu User-defined (Người dùng tự định nghĩa) trong C, là kiểu dữ liệu chứa các thành phần dữ liệu khác bên trong.

    Hai kiểu dữ liệu này được sử dụng khá phổ biến trong các thư viện cho vi điều khiển (ví dụ thư viện STD STM32), và quản lý sự kiện trong các ứng dụng nhúng, IOT.

    👉 Về đặc điểm thì khác nhau rõ ràng nhất là việc chiếm dụng bộ nhớ

    Dữ liệu của các thành viên của Struct được lưu trữ ở những vùng nhớ khác nhau, có thể tuân theo nguyên tắc padding.

    => Memory sử dụng lớn hơn hoặc bằng tổng kích thước các thành phần.

    Dữ liệu của các thành viên trong Union được lưu trữ trong cùng 1 vùng nhớ.

    => Memory sử dụng = Kích thước thành viên lớn nhất.

    👉 Về mặt ứng dụng thì rõ ràng nhiều trường hợp có thể dùng Struct thay cho Union vì nó bao quát và tường minh hơn.

    👉 Nhưng trong các ứng dụng lớn, có nhiều sự kiện, thì việc dùng Union sẽ giúp tiết kiệm bộ nhớ hơn rất nhiều (Đặc biệt với ứng dụng sử dụng Vi điều khiển có bộ nhớ hạn chế).

    👉 Một ứng dụng khác mình dùng Union là quản lý các thanh ghi trong vi điều khiển (STM32).

    Còn các bạn thường sử dụng Struct & Union với mục đích như thế nào ???

    Ví dụ về sử dụng Union tại đây:


>>>= Follow ngay =<<<

💚 Kênh Youtube Lập trình - Điện tử 💚

Để nhận được những bài học miễn phí mới nhất nhé 😊

Đăng nhận xét

0 Nhận xét