VietTuts

Tự Học Lập Trình Online

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • C#
  • Python
  • PHP
  • Excel
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
    • HTML5
    • Node.js
    • Angular 7
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Eclipse
    • Phần mềm tiện ích
    • Cấu trúc DL&GT
    • Selenium Test

C Cơ Bản

Ngôn ngữ lập trình C là gì? Lịch sử của C Các tính năng của C Cài đặt môi trường lập trình C Chương trình C đầu tiên Flow của chương trình C Biến trong C Các kiểu dữ liệu trong C Ép kiểu trong C Từ khóa trong C Các toán tử trong C Comment trong C Các hằng số trong C printf và scanf trong C Ký tự đặc biệt trong C Xử lý lỗi trong C Tệp Header trong C Toán tử sizeof trong C

Câu Lệnh Điều Khiển C

Mệnh đề if-else Mệnh đề switch Vòng lặp for Vòng lặp while Vòng lặp do-while Lệnh Break Lệnh Continue Lệnh Goto

Con Trỏ

Con trỏ (pointer) trong C Con trỏ trỏ tới con trỏ Con trỏ và mảng trong C Quản lý bộ nhớ trong C

Structure & Union

Structure trong C Mảng của structure trong C Structure lồng nhau trong C Union trong C

C Math

Hàm math cơ bản trong C

C Function

Hàm trong C Hàm do người dùng định nghĩa Các kiểu hàm trong C Đệ quy trong C Call by value Call by reference

C Array

Mảng (array) trong C Mảng 2 chiều trong C Truyền mảng vào hàm
Chuỗi (String) Trong C
File I/O Trong C
Bài Tập C Có Lời Giải

Bài Học Bổ Sung

Enumeration (enum) trong C Preprocessors trong C Bảng ASCII
1 / 3
❮ ❯

Structure lồng nhau trong C


Mảng của structure trong C
Union 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.

Nội dung chính

  • 1. Cấu trúc riêng biệt
  • 2. Cấu trúc nhúng.
  • Truy cập cấu trúc lồng nhau
  • Ví dụ về cấu trúc lồng nhau trong C

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: %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;
}

Kết quả:

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

Mảng của structure trong C
Union trong C

Recent Updates

Xuất dữ liệu ra màn hình console trong JavaCài đặt môi trường JavaLinkedList trong javaArrayList trong javaXử lý duplicate trong SQLPhím tắt hay dùng trong ExcelBảo mật tập tin ExcelDịch trang tính trong ExcelIn trang tính trong ExcelHàm VLOOKUP trong ExcelĐối tượng đồ họa trong ExcelSử dụng macro trong ExcelSắp Tết 2026 Rồi! - Còn bao nhiêu ngày nữa là đến tết 2026?

VietTuts on facebook

Học Lập Trình Online Miễn Phí - VietTuts.Vn
Danh Sách Bài Học

Học Java | Hibernate | Spring
Học Excel | Excel VBA
Học Servlet | JSP | Struts2
Học C | C++ | C#
Học Python
Học SQL

Bài Tập Có Lời Giải

Bài tập Java
Bài tập C
Bài tập C++
Bài tập C#
Bài tập Python
Ví dụ Excel VBA

Câu Hỏi Phỏng Vấn

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

Scroll back to top

Copyright © 2016 VietTuts.Vn all rights reserved. | Liên hệ | Chính sách - riêng tư | sitemap.html | sitemap_index.xml