Bỏ qua đến nội dung
Bỏ qua điều hướng
MT MT.Net.VNDigital Platform
Đăng nhập
MT.NET.VN

MT.Net.VN

Tìm kiếm
MT LEARNING · LESSON

Union trong C

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

Union trong C



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

Zalo Messenger Gọi điện Hỗ trợ0
Home Dịch vụ Khóa học CPanel