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

Sự khác biệt giữa Cấu trúc và Liên minh trong C

Cấu trúc

Cấu trúc là một kiểu dữ liệu do người dùng xác định. Nó được sử dụng để kết hợp các loại dữ liệu khác nhau thành một loại duy nhất. Nó có thể có nhiều thành viên và biến cấu trúc. Từ khóa "struct" được sử dụng để xác định cấu trúc trong ngôn ngữ C. Các thành viên cấu trúc có thể được truy cập bằng cách sử dụng toán tử dấu chấm (.).

Đây là cú pháp của các cấu trúc trong ngôn ngữ C,

struct structure_name {
   member definition;
} structure_variables;

Đây,

  • tên_cấu trúc - Bất kỳ tên nào được đặt cho cấu trúc.

  • định nghĩa thành viên - Tập hợp các biến thành viên.

  • structure_variable - Đây là đối tượng của cấu trúc.

Đây là một ví dụ về cấu trúc trong ngôn ngữ C,

Ví dụ

#include <stdio.h>
#include <string.h>

struct Data {
   int i;
   long int f;
} data, data1;

int main( ) {
   data.i = 28;
   printf("The value of i : %d\n", (data.i));
   printf( "Memory size occupied by data : %d\t%d", sizeof(data), sizeof(data1));
   return 0;
}

Đầu ra

Đây là kết quả đầu ra

The value of i : 28
Memory size occupied by data : 16 16

Công đoàn

Union cũng là một kiểu dữ liệu do người dùng xác định. Tất cả các thành viên của công đoàn đều chia sẻ cùng một vị trí bộ nhớ. Quy mô của công đoàn do quy mô của thành viên lớn nhất của công đoàn quyết định. Nếu bạn muốn sử dụng cùng một vị trí bộ nhớ cho hai thành viên trở lên, thì union là cách tốt nhất cho điều đó.

Các đoàn thể tương tự như cấu trúc. Các biến liên hợp được tạo theo cách tương tự như các biến cấu trúc. Từ khóa “union” được sử dụng để định nghĩa các hiệp hội trong ngôn ngữ C.

Đây là cú pháp của các hợp nhất trong ngôn ngữ C,

union union_name {
   member definition;
} union_variables;

Đây,

  • union_name - Bất kỳ tên nào được đặt cho công đoàn.

  • định nghĩa thành viên - Tập hợp các biến thành viên.

  • union_variable - Đây là đối tượng của liên minh.

Đây là một ví dụ về công đoàn trong ngôn ngữ C,

Ví dụ

#include <stdio.h>
#include <string.h>

union Data {
   int i;
   float f;
} data, data1;

int main( ) {
   printf( "Memory size occupied by data : %d\t%d", sizeof(data), sizeof(data1));
   return 0;
}

Đầu ra

Đây là kết quả đầu ra

Memory size occupied by data : 4 4