QC

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;

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;
} emp0;

TRUY CẬP

emp0.birthday.day
emp0.birthday.month
emp0.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 = 100;
    strcpy(e1.name, "Anh Tran"); // chuyen doi chuoi thanh mang char
    e1.birthday.day = 20;
    e1.birthday.month = 11;
    e1.birthday.year = 2001;
 
    // hien thi thong tin sinh vien ra man hinh
    printf("employee id: %d\n", e1.id);
    printf("employee name: %s\n", e1.name);
    printf("employee birthday (dd/mm/yyyy): %d/%d/%d\n", e1.birthday.day,
            e1.birthday.month, e1.birthday.year);
    return 0;
}


IN RA :

employee id: 100

employee name: Anh Tran

employee birthday (dd/mm/yyyy): 20/11/2001















 

Nap Code vào PY32F003 dùng Stlink

 Nap Code vào PY32F003 dùng Stlink Bước 1: Cài đặt  KeilC v5.39 theo link sau ( chú ý 5.39 keil c mới nạp ok). https://edge07.111.ir.cdn.ir/...