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ảng dưới dạng phần tử kiểu cấu trúc, nghĩa là mọi phần tử của mảng sẽ là 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 loại dữ liệu khác nhau, vì vậy theo 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 cách gián tiếp một loại dữ liệu khác mảng.
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 nên biến cấu trúc khác nhau.
Trong mảng cấu trúc, chúng ta đặt biến cấu trúc e làm biến mảng. cú pháp của nó được đưa ra dưới đây-
Khai báo biến cấu trúc
Đây là cú pháp, bên dưới
structure_name structure_variable[size];
Trong phần này, trước 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, chẳng hạn như,
struct student{
int roll,age
char name[10];
};
book vr[2];
Trong phần khai báo cấu trúc trên, chúng ta đã lưu bản ghi ( roll, age và name ) của 2 học sinh bằng cách sử dụng mảng cấu trúc.
Đối với học sinh đầu tiên
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ó thể thấy trong sơ đồ bên dưới,
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ủa cấu trúc và như chúng ta biết rằng chúng ta sử dụng giá trị chỉ mục để truy cập 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. giống-
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;
}
ĐẦU 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 đó, cấu trúc mảng và mảng đối tượng gần như giống nhau.