Giới Thiệu Về Union Trong C

     

Trong bài xích này ta sẽ tìm hiểu về kiểu dữ liệu union trong lập trình sẵn C, đây là kiểu dữ liệu cấu trúc giống cùng với struct, tuy nhiên có một điểm biệt lập duy nhất kia là kích thước lưu trữ.

Bạn đang xem: Giới thiệu về union trong c


Union bao gồm cách khai báo y hệt như struct, nhưng kích thước của nó đang lấy form size của bộ phận lớn nhất, còn struct thì và tính tổng kích cỡ tất cả các phần tử. Cụ thể bạn đọc ở vị trí cuối trong bài này nhé.

1. Khai báo union vào C

Vì bạn đã học struct rồi cần mình ko nói quá nhiều về cú pháp cũng như cách sử dụng nhé. Hãy xem ví dụ dưới đâ sẽ dễ dàng nắm bắt hơn nhiều.


Đoạn code này vẫn khai báo mẫu mã dữ liêu union có tên là car, tất cả hai tin tức đó là nameprice.

2. Khai báo trở nên kiểu union vào C

Khi một dạng hình union được có mang thì nó sẽ tạo nên ra một dạng hình do người tiêu dùng tự tạo. Mặc dù nhiên, không có bộ nhớ lưu trữ nào được cung cấp phát. Để cấp phát bộ nhớ lưu trữ thì ta yêu cầu khai báo biến.

Xem thêm: Bà Bầu Có Được Ăn Ốc Không ? Ăn Bao Nhiêu Là Tốt? Ăn Ốc Có Gây Hại Cho Thai Nhi


union car char name<50>; int price;;int main() union car car1, car2, *car3; return 0;
Dưới trên đây cũng là 1 cách khai báo union trong C.


union car char name<50>; int price; car1, car2, *car3;

3. Truy vấn đến nằm trong tính của union

Tương từ bỏ như struct, ta sư dụng vệt chấm . để truy vấn biến thường cùng dấu mũi thương hiệu -> để truy cập biến union con trỏ.

Như làm việc ví dụ phần 2 thì ta có:

Truy cập ở trong tính price của car1 thì car1.priceTruy cập thuộc tính price của car3 thì (*car3).price hoặc car3->price

4. Sự khác nhau giữa union cùng struct

Hãy lấy một lấy ví dụ như để minh chứng sự biệt lập giữa union cùng struct:


#include union unionJob //defining a union char name<32>; float salary; int workerNo; uJob;struct structJob char name<32>; float salary; int workerNo; sJob;int main() printf("size of union = %d bytes", sizeof(uJob)); printf(" size of structure = %d bytes", sizeof(sJob)); return 0;
Kết quả:


size of union = 32size of structure = 40
Kích thước của struct = 40 là trên vì:


name có size 32 bytessalary có size 4 bytesworderNo có size 4 bytes

=> Tổng kích cỡ là 40 bytes

Kích thước của union = 32 là vì nó lấy size của thuộc tính lớn số 1 (name) chứ xung quanh tổng như struct.

Xem thêm: Bài Học Đường Đời Đầu Tiên Violet, Tập Huấn Violet

Trên là những tin tức mà bạn cần biết về kiểu dữ liệu Union trong ngữ điệu C. Tùy vào nhu cầu về kích cỡ lưu trữ mà bạn chọn struct tuyệt union phù hợp cho dự án của mình.


*

Tiểu họcLớp 6Lớp 7Lớp 8Lớp 9Lớp 10Lớp 11Lớp 12Phương trình hóa họcĐề thi và kiểm traAppReview sáchRead manga EnglishRead novel EnglishTổng hòa hợp mã giảm giá