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

Nêu sự khác biệt giữa cấu trúc và liên hợp với ví dụ phù hợp trong ngôn ngữ C

Sự khác biệt giữa cấu trúc và sự hợp nhất trong ngôn ngữ C được giải thích dưới đây -

S.Không Cấu trúc Công đoàn
1 Định nghĩa
Cấu trúc là tập hợp không đồng nhất của các mục dữ liệu được nhóm lại với nhau dưới một tên duy nhất
Định nghĩa
Liên hợp là một vị trí bộ nhớ được chia sẻ bởi một số biến của các kiểu dữ liệu khác nhau.
2 Cú pháp;
struct tagname{
   datatype member1;
   datatype member2;
   ----
   ----
   ----
};
Cú pháp;
union tagname{
   datatype member1;
   datatype member2;
   ----
   ----
   ----
};
3 Ví dụ:
struct sample{
   int a;
   float b;
   char c;
};
Ví dụ:
union sample{
   int a;
   float b;
   char c;
};
4 từ khóa - struct từ khóa - công đoàn
5 Phân bổ bộ nhớ Phân bổ bộ nhớ
6 Nêu sự khác biệt giữa cấu trúc và liên hợp với ví dụ phù hợp trong ngôn ngữ C Nêu sự khác biệt giữa cấu trúc và liên hợp với ví dụ phù hợp trong ngôn ngữ C
7 Bộ nhớ được cấp phát là tổng kích thước của tất cả các kiểu dữ liệu trong cấu trúc (Ở đây, 7byte)
Bộ nhớ được cấp phát là kích thước tối đa được phân bổ trong số tất cả các kiểu dữ liệu trong liên hợp (Ở đây, 4byte)
8 Bộ nhớ được cấp phát khác nhau cho tất cả các thành viên của cấu trúc
Chỉ một thành viên sẽ cư trú trong bộ nhớ tại bất kỳ trường hợp cụ thể nào

Ví dụ

Sau đây là chương trình C cho các cấu trúc -

#include<stdio.h>
struct size{
   double a;
   int b;
   char c;
   float d;
};
int main(){
   printf("%ld",sizeof( stuct size));
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

24

Ví dụ

Sau đây là chương trình C về công đoàn -

#include<stdio.h>
union size{
   double a;
   int b;
   char c;
   float d;
}
Int main(){
   Printf("ld",sizeof(union size));
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

8