mảng cấu trúc trong chương trình C++
một mảng cấu trúc trong C ++ là sự kết hợp của hai khái niệm khác nhau đang theo sau,
- mảng trong C++
- cấu trúc trong C++
1. Khai báo biến cấu trúc
sử dụng mảng cấu trúc trong C++, chúng ta có thể tạo tất cả các phần tử của một mảng trong một phần tử kiểu cấu trúc, có nghĩa là mọi phần tử của mảng sẽ là một phần tử kiểu cấu trúc. như chúng ta đã biết, cấu trúc có thể lưu trữ các kiểu dữ liệu khác nhau, vì vậy một cách đơn giản, bạn có thể nói bằng cách sử dụng một mảng cấu trúc trong C ++, chúng ta có thể lưu trữ một mảng kiểu dữ liệu khác nhau một cách gián tiếp.
Bạn có thể hiểu điều này với sự trợ giúp của sơ đồ được đưa ra dưới đây-
Ở đây arr[4] là biến kiểu mảng của một cấu trúc.
Như bạn có thể thấy ở trên, tên biến cấu trúc giống nhau nhưng do giá trị chỉ mục khác nhau, biến cấu trúc khác nhau.
Trong mảng cấu trúc, chúng ta làm cấu trúc-variable như một biến mảng. Cú pháp của nó được đưa ra dưới đây-
khai báo về một biến cấu trúc
Đây là cú pháp, bên dưới
structure_name structure_variable[size];
Trong đó, đầu tiên chúng ta khai báo các thành viên cấu trúc và sau đó khai báo biến mảng của một biến cấu trúc như,
struct student{
int roll,age
char name[10];
};
book vr[2];
Trong khai báo cấu trúc trên, chúng ta đã lưu trữ hồ sơ (cuộn, tuổi và tên) của hai học sinh sử dụng mảng cấu trúc.
Dành cho học sinh lớp 1
vr[0].roll;
vr[0].age;
vr[0].name;
Đối với học sinh thứ 2,
vr[1].roll;
vr[1].age;
vr[1].name;
Như bạn cũng có thể thấy trong sơ đồ dưới đây,
Truy cập thành viên trong một mảng cấu trúc
Bởi vì ở đây nó chứa phần tử cấu trúc và như chúng ta biết rằng chúng ta sử dụng giá trị index để truy cập vào phần tử mảng. Vì vậy, có nghĩa là, cấu trúc sẽ được truy cập bởi giá trị chỉ mục giống như một biến mảng đơn giản. như-
structure_variable [value].structure_member_name
Hãy thử với một ví dụ
Ví dụ
#include<iostream>
#include<stdio>
using namespace std;
// struct declaration outside main()
struct
{
int roll,age;
char name[20];
}vr[2];
int main()
{
for(int i=0; i<2; i++)
{
cout<"Enter "<<i+1<<" Student Record\n";
cout<<"Enter Roll no: ";
cin>>vr[i].roll;
cout<<"Enter Name : ";
gets(vr[i].name);
cout<<"Enter age : ";
cin>>vr[i].age;
}
cout<<endl;
for(int j=0; j<2; j++)
{
cout<<"\nDisplay "<<j+1<<" Student Record";
cout<<"\nRoll no.: "<<vr[j].roll;
cout<<"\nName : "<<vr[j].name;
cout<<"\nAge : "<<vr[j].age;
}
return 0;
}
RA
Enter 1 Student Record
Enter Roll no: 10
Enter Name : Rahul sherma
Enter age : 25
Enter 2 Student Record
Enter Roll no: 11
Enter Name : Rohit kumar
Enter age : 24
Display 1 Student Record
Roll no.: 10
Name : Rahul sherma
Age : 25
Display 2 Student Record
Roll no.: 11
Name : Rohit kumar
Age : 24
Bởi vì lớp và cấu trúc tương ứng với nhau trong nhiều trường hợp. Do đó, mảng cấu trúc và mảng đối tượng gần như giống nhau.