Union trong C

Union trong C

1 / 3 ❮ ❯ Union trong C Structure lồng nhau trong C Hàm Math cơ bản trong C Cũng […]

Learn more »



Union trong C



Cũng giống như structure, union trong Ckiểu dữ liệu do người dùng định nghĩa được sử dụng để chứa các loại phần tử khác nhau.

Nhưng nó không chiếm tổng bộ nhớ của các thành viên cộng lại, mà nó chỉ chiếm bộ nhớ của thành viên có lớn nhất.

Structure vs Union trong C


Ưu điểm của Union so với Structure

chiếm bộ nhớ ít hơn vì nó chiếm bộ nhớ của thành viên lớn nhất mà thôi.


Nhược điểm của Union so với Structure

Nó chỉ có thể lưu trữ dữ liệu trong một thành viên.


Định nghĩa Union trong C

Từ khóa union được sử dụng để định nghĩa một union.

union union_name {     data_type member1;     data_type member2;     ...     data_type memeberN; }; 

Ví dụ:

union employee {     int id;     char name[50];     float salary; }; 


Ví dụ Union trong C

#include <stdio.h> #include <string.h>  /**  * dinh nghia union Employee  */ union Employee {     int id;     char name[50]; } e1; // khai bao bien e1 cho Employee  /**  * ham main  */ int main() {     // luu tru thong tin employee e1     e1.id = 101;     strcpy(e1.name, "Vinh Tran"); // chuyen doi chuoi thanh mang char     // hien thi thong tin e1 ra man hinh     printf("employee e1 id: %dn", e1.id);     printf("employee e1 name: %sn", e1.name);     return 0; } 

Kết quả:

employee e1 id: 1752066390 employee e1 name: Vinh Tran 

Như bạn thấy, id lấy giá trị rác vì tên có kích thước bộ nhớ lớn. Vì vậy, chỉ tên sẽ có giá trị thực tế.









Source link


Lượt xem : 236

Integrations
Users

Share Profile

Anyone at KeenThemes can view
Anyone with link can edit

Give Award

Anyone at KeenThemes can view
Anyone with link can edit

Report User

Let us know why you’re reporing this person
Don't worry, your report is completely anonymous; the person you're
reporting will not be informed that you've submitted it