Search…

Tư Tưởng về Struct

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

Đặ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.

IO Stream

IO Stream Co., Ltd

30 Trinh Dinh Thao, Hoa Thanh ward, Tan Phu district, Ho Chi Minh city, Vietnam
+84 28 22 00 11 12
developer@iostream.co

383/1 Quang Trung, ward 10, Go Vap district, Ho Chi Minh city
Business license number: 0311563559 issued by the Department of Planning and Investment of Ho Chi Minh City on February 23, 2012

©IO Stream, 2013 - 2024