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

Viewbh Structure Long Nhau Trong C2023 04 12 17 55 33

Tìm kiếm
Thuộc khóa học · baihoc_sub = 55

Lập trình C cơ bản ( Free )

Bài 1 / 1 trong khóa học.

Xem khóa học
100%
Bài trướcĐây là bài đầu tiên Bài sauĐây là bài cuối cùng
MT LEARNING · LESSON

Structure lồng nhau trong C

1 / 3 ❮ ❯ Structure lồng nhau trong C Mảng của structure trong C Union trong C Như bạn […]

Structure lồng nhau trong C



Structure lồng nhau trong C



Như bạn đã biết structure trong C (cấu trúc trong C) là một kiểu dữ liệu người dùng tự định nghĩa (user defined datatype). Nên bạn hoàn toàn có thể sử dụng structure bên trong structure khác, nó được biết đến như structure lồng nhau trong C.


Có 2 cách để định nghĩa cấu trúc lồng nhau trong C:

  1. Theo cấu trúc riêng biệt.
  2. Theo cấu trúc nhúng.

1. Cấu trúc riêng biệt

Ví dụ, chúng ta tạo ra 2 cấu trúc và cấu trúc phụ thuộc được sử dụng bên trong cấu trúc chính như một thành viên.

struct Date {     int day;     int month;     int year; }; struct Employee {     int id;     char name[20];     struct Date birthday; } emp1; 

Trong ví dụ trên, cấu trúc birthday được sử dụng như một thành viên của cấu trúc Employee.



2. Cấu trúc nhúng.

Cấu trúc nhúng là viêc định nghĩa cấu trúc bên trong một cấu trúc khác và nó cũng là một trường hợp của cấu trúc (structure) lồng nhau trong C.

Ví dụ:

struct Employee {     int id;     char name[20];     struct Date {         int day;         int month;         int year;     } birthday; } emp1; 

Truy cập cấu trúc lồng nhau

Bạn có thể truy cập các thành viên của cấu trúc lồng nhau bởi Outer_Structure.Nested_Structure.member như dưới đây:

emp1.birthday.day emp1.birthday.month emp1.birthday.year 


Ví dụ về cấu trúc lồng nhau trong C

#include <stdio.h> #include <string.h>  /**  * dinh nghia cau truc Employee  */ struct Employee {     int id;     char name[20];     struct Date {         int day;         int month;         int year;     } birthday; } e1;  /**  * ham main  */ int main() {     // luu tru thong tin employee     e1.id = 101;     strcpy(e1.name, "Vinh Tran"); // chuyen doi chuoi thanh mang char     e1.birthday.day = 10;     e1.birthday.month = 11;     e1.birthday.year = 2001;      // hien thi thong tin sinh vien ra man hinh     printf("employee id: %dn", e1.id);     printf("employee name: %sn", e1.name);     printf("employee birthday (dd/mm/yyyy): %d/%d/%dn", e1.birthday.day,             e1.birthday.month, e1.birthday.year);     return 0; } 

Kết quả:

employee id: 101 employee name: Vinh Tran employee birthday (dd/mm/yyyy): 10/11/2001 








Source link

ĐÁNH GIÁ NỘI DUNG 0.0/5 0 lượt đánh giá
Bạn thấy nội dung này thế nào?
Mỗi trình duyệt/tài khoản được chấm lại sau 24 giờ.
Báo bài lỗiGiúp MT.Net.VN phát hiện nội dung cần kiểm tra
Báo lỗi được ghi vào hệ thống để Admin kiểm tra. Không dùng chức năng này để gửi hỗ trợ cá nhân.
Home Dịch vụ Khóa học CPanel