Computer >> Máy Tính >  >> Lập trình >> lập trình C

Sự khác biệt giữa Cấu trúc và Liên minh trong Chương trình C

Trong C, chúng ta có vùng chứa cho cả hai tức là cho dữ liệu cùng kiểu và dữ liệu nhiều kiểu. Để lưu trữ dữ liệu cùng kiểu C cung cấp khái niệm Mảng lưu trữ các biến dữ liệu cùng kiểu trong khi để lưu trữ dữ liệu khác kiểu C cung cấp khái niệm về cấu trúc và liên kết có thể lưu trữ các biến dữ liệu cùng kiểu.

Vì cả Structure và Union đều có thể chứa các loại dữ liệu khác nhau trong chúng nhưng giờ đây trên cơ sở triển khai nội bộ, chúng tôi có thể tìm thấy một số điểm khác biệt trong cả hai vùng chứa này.

Sau đây là những điểm khác biệt quan trọng giữa Cấu trúc và Liên minh.

Sr. Không. Phím Cấu trúc Công đoàn
1 Định nghĩa Cấu trúc là vùng chứa được định nghĩa trong C để lưu trữ các biến dữ liệu thuộc loại khác nhau và cũng hỗ trợ cho việc lưu trữ các biến do người dùng xác định. Mặt khác, Union cũng là một loại thùng chứa tương tự trong C, cũng có thể chứa các loại biến khác nhau cùng với các biến do người dùng xác định.
2 Triển khai nội bộ Cấu trúc trong C được triển khai nội bộ vì có vị trí bộ nhớ riêng biệt được phân bổ cho từng thành viên đầu vào Trong trường hợp bộ nhớ Union chỉ được cấp phát cho một thành viên có kích thước lớn nhất trong số tất cả các biến đầu vào khác và cùng một vị trí đang được chia sẻ giữa tất cả các biến này.
3 Cú pháp Cú pháp khai báo một Cấu trúc trong C như sau:
struct struct_name{
   type element1;
   type element2;
   .
   .
} variable1, variable2, ...;
Cú pháp khai báo Union trong C khác như sau:
union u_name{
   type element1;
   type element2;
   .
   .
} variable1, variable2, ...;
4 Kích thước Như đã đề cập trong định nghĩa Cấu trúc không có vị trí được chia sẻ cho các thành viên của nó nên kích thước của Cấu trúc bằng hoặc lớn hơn tổng kích thước của tất cả các thành viên dữ liệu. Mặt khác, Union không có vị trí riêng biệt cho từng thành viên nên quy mô của nó hoặc bằng quy mô của thành viên lớn nhất trong số tất cả các thành viên dữ liệu.
5 Giá trị lưu trữ Như đã đề cập ở trên trong trường hợp Cấu trúc có vị trí bộ nhớ cụ thể cho từng thành viên dữ liệu đầu vào và do đó nó có thể lưu trữ nhiều giá trị của các thành viên khác nhau. Trong trường hợp Union chỉ có một phân bổ bộ nhớ dùng chung cho tất cả các thành viên dữ liệu đầu vào, vì vậy nó lưu trữ một giá trị duy nhất tại một thời điểm cho tất cả các thành viên.
6 Khởi tạo Trong Cấu trúc, nhiều thành viên có thể được khởi tạo cùng một lúc. Mặt khác, trong trường hợp Union, chỉ thành viên đầu tiên mới có thể khởi tạo cùng một lúc.