Phân tích và so sánh struct, class và union trong ngôn ngữ C

23:13 17/05/2025

Trong ngôn ngữ lập trình C và C++, việc quản lý dữ liệu phức tạp thông qua các kiểu dữ liệu người dùng định nghĩa (user – defined data types) như struct, class, và union là vô cùng quan trọng. Bài viết này nhằm phân tích sâu về đặc điểm, cách sử dụng, và ưu – khuyết điểm của ba cấu trúc dữ liệu trên, giúp người lập trình hiểu rõ để áp dụng một cách hiệu quả trong thiết kế và phát triển phần mềm.

Khái niệm

  • Struct (structure): Là tập hợp nhiều biến (có thể khác kiểu) được gom lại dưới một đối tượng duy nhất. Trong C, mặc định các thành viên của struct là public.
  • Class: Mặc dù class không phải là một đặc trưng của ngôn ngữ C truyền thống, trong C++ nối rội từ C, class được dùng để định nghĩa đối tượng, hỗ trợ tính đóng gói, kế thừa, đa hình. Trong C++, class giống struct nhưng mặc định các thành viên là private.
  • Union: Là kiểu dữ liệu cho phép nhiều biến chia sẻ cùng một vùng bộ nhớ. Tại một thời điểm chỉ có thể truy cập một biến trong union.

So sánh struct, class và union

Tiêu chí

struct (C & C++) class (C++)

union

Hỗ trợ OOP

Không (C), Có (C++) Không

Mặc định truy cập

public private

public

Bộ nhớ

Mỗi thành phần tốn bộ nhớ riêng Tương tự struct

Chia sẻ bộ nhớ giữa các thành phần

Truy cập hàm/thành viên

Thông qua toán tử “.” hoặc “->” Tương tự

Tương tự

Tính đa hình, kế thừa

Không (C), Có (C++)

Không

Tính đóng gói

Không (C), Có (C++) Không

Dụng trong tiết kiệm RAM

Không Không

Tổ chức bộ nhớ

Tuần tự Tuần tự

Chồng lấn nhau

Nhận định và ứng dụng

Mỗi kiểu dữ liệu struct, class và union đều có vai trò nhất định trong thiết kế chương trình. Trong C, struct và union được dùng nhiều để tổ chức dữ liệu trong khi đảm bảo hiệu suất bộ nhớ. union đặc biệt hữu ích trong các tình huống cần tiết kiệm RAM như thiết bị nhúng. Trong khi đó, class trong C++ giúp lập trình hướng đối tượng hiệu quả hơn thông qua tính đóng gói, kế thừa và đa hình.

Giảng viên Khanhnh
Bộ môn Ứng dụng phần mềm
FPT Polytechnic TP HCM

Đăng ký nhận đề thi thử 2025

Cùng chuyên mục

Đăng ký nhập học tại FPT Polytechnic 2025

  • Max. file size: 50 MB.
  • Max. file size: 50 MB.
  • Max. file size: 50 MB.