STDIO
Tìm kiếm gần đây
    • Nội dung
    • QR Code
    • 0
    • 0
    • Sao chép

    Tư Tưởng về Struct

    Tìm hiểu về khái niệm và tư tưởng khi sử dụng struct trong C++.

    Ryan

    23/01/2015
    17/09/2020
    2 phút đọc
    Tư Tưởng về Struct

    Đặt vấn đề

    Đã học qua về biến, cách để khai báo một biến. Thử khai báo và lưu trữ các thông tin của một sinh viên gồm có họ tên, mã sinh viên, điểm,... Sẽ thực hiện như sau?

    char student_name[30];
    char student_id[10];
    float student_score;

    Thực hiện lại thao tác trên nhưng với 100 sinh viên. Có thể giải quyết vấn đề như sau:

    char student_name[100][30];
    char student_id[100][10];
    float student_score[100];

    Dễ dàng nhận thấy rằng cách làm này rất dễ sai sót và gây ra rối mắt, bởi lượng thông tin khai báo quá nhiều. Vậy một câu hỏi đặt ra là: Tại sao không gom các thông tin liên quan này lại với nhau thành một cục cho dễ quản lý. 

    Khái niệm struct

    Hiểu một cách nôm na thì struct cho phép người lập trình tự định nghĩa ra một kiểu dữ liệu mới, gom nhiều thông tin của một đối tượng nào đó lại với nhau dưới một cái tên cho dễ quản lý. Đây cũng chính là tư tưởng chủ đạo của struct

    Cú pháp

    Cú pháp của struct như sau:

    struct object_names
    {
    	member1_type member1_name;
    	member2_type member2_name;
    	member3_type member3_name;
    	.
    	.
    };

    Trở lại với vấn đề trên

    Thử thực thi lại chương trình trên với struct

    struct Student			 
    {
    	// Cách tạo struct
    	char m_name[30];
    	char m_id[10];
    	float m_score;
    };
    
    int main()
    {
    	struct Student _student[100]; // Khai báo đối tượng với kiểu dữ liệu mới
    
        strcpy(_student[0].m_name, "Ryan");   // Truy cập vào một đối tượng
        strcpy(_student[0].m_id, "11520035");
        _student[0].m_score = 9.5f;
    }

    Ở trên đã đưa ra khai báo và truy cập dữ liệu khi sử dụng struct. Với cách thức như trên lúc này việc quản lý tên hay điểm sẽ được tập trung và dễ quản lý hơn. Với bài toán trên có thể chạy vòng lặp để truy cập hết các đối tượng.

    0 Bình luận
    Modern C++

    Modern C++

    STDIO Training - Đào Tạo Lập Trình C++.

    Đề xuất

    Struct Trong Lập Trình C Và Tư Duy Trừu Tượng Hoá
    Ứng dụng và tư duy trừa tượng hoá của struct trong lập trình C/C++.
    11/08/2015
    Lọc Ảnh Bằng Phép Tương Quan Và Tích Chập
    Bài viết mô tả phép lọc ảnh sử dụng tương quan và tích chập trong lĩnh ...

    Khám phá

    Tín Hiệu Số Và Tương Tự - Analog/Digital
    Trong ngành điện tử nói chung và trong lập trình vi điểu khiển nói ...
    Lập Trình Hướng Đối Tượng Ở Một Cách Tiếp Cận Khác - Tính Trừu Tượng
    Hướng tiếp cận tính trừu tượng và OOP theo khái niệm và ví dụ mềm dẻo.
    10/08/2014
    LEGO - Raspberry Pi: Sáng Tạo Ra Khỏi Cái Hộp
    Chia sẻ với các bạn dưới góc nhìn của một người sử dụng, nhà phát triển ...
    Toán Tử - Độ Ưu Tiên và Trật Tự Kết Hợp
    Giới thiệu các loại toán tử, độ ưu tiên và trật tự kết hợp toán tử
    23/07/2015
    Struct Alignment trong C++
    Tìm hiểu về Struct Alignment trong C/C++.
    08/10/2015
    Tổng Quan Về Thực Tại Ảo - Virtual Reality
    Tổng thể về thực tại ảo, những thành phần chính của hệ thống và xu hướng ...
    struct và union
    Tìm hiểu về struct và union trong C/C++.
    17/05/2015
    Toán Tử Khung Xương trong Ảnh Nhị Phân - Skeleton Binary Morphology
    Giới thiệu giải thuật thực hiện toán tử khung xương (skeleton) dựa trên ...
    Khi bạn nhấn vào liên kết sản phẩm do STDIO đề xuất và mua hàng, STDIO có thể nhận được hoa hồng. Điều này hỗ trợ STDIO tạo thêm nhiều nội dung hữu ích. Tìm hiểu thêm.
    STDIO
    Trang chính
    Công ty TNHH STDIO

    30, Trịnh Đình Thảo, Hòa Thạnh, Tân Phú, Hồ Chí Minh
    +84 28.36205514 - +84 942.111912
    developer@stdio.vn

    383/1 Quang Trung, Phường 10, Quận Gò Vấp, Hồ Chí Minh
    Số giấy phép ĐKKD: 0311563559 do sở Kế hoạch và Đầu Tư TPHCM cấp ngày 23/02/2012

    ©STDIO, 2013 - 2020