Hvorfor bruge en række strukturer?
Overvej en sag, hvor vi skal gemme data fra 5 elever. Vi kan gemme det ved at bruge strukturen som angivet nedenfor.
#include struct student { char name[20]; int id; float marks; }; void main() { struct student s1,s2,s3; int dummy; printf('Enter the name, id, and marks of student 1 '); scanf('%s %d %f',s1.name,&s1.id,&s1.marks); scanf('%c',&dummy); printf('Enter the name, id, and marks of student 2 '); scanf('%s %d %f',s2.name,&s2.id,&s2.marks); scanf('%c',&dummy); printf('Enter the name, id, and marks of student 3 '); scanf('%s %d %f',s3.name,&s3.id,&s3.marks); scanf('%c',&dummy); printf('Printing the details.... '); printf('%s %d %f ',s1.name,s1.id,s1.marks); printf('%s %d %f ',s2.name,s2.id,s2.marks); printf('%s %d %f ',s3.name,s3.id,s3.marks); }
Produktion
Enter the name, id, and marks of student 1 James 90 90 Enter the name, id, and marks of student 2 Adoms 90 90 Enter the name, id, and marks of student 3 Nick 90 90 Printing the details.... James 90 90.000000 Adoms 90 90.000000 Nick 90 90.000000
I ovenstående program har vi gemt data om 3 elever i strukturen. Uddannelsens kompleksitet vil dog blive øget, hvis der er 20 studerende. I så fald bliver vi nødt til at erklære 20 forskellige strukturvariabler og gemme dem én efter én. Dette vil altid være svært, da vi bliver nødt til at erklære en variabel hver gang vi tilføjer en elev. Det er også en meget vanskelig opgave at huske navnet på alle variablerne. Men c sætter os i stand til at erklære en række strukturer ved at bruge hvilke, vi kan undgå at erklære de forskellige strukturvariabler; i stedet kan vi lave en samling, der indeholder alle de strukturer, der gemmer oplysninger fra forskellige enheder.
Array af strukturer i C
En række strukturer i C kan defineres som samlingen af flere strukturvariabler, hvor hver variabel indeholder information om forskellige entiteter. Rækken af strukturer i C bruges til at gemme information om flere enheder af forskellige datatyper. Rækken af strukturer er også kendt som samlingen af strukturer.
Lad os se et eksempel på en række strukturer, der gemmer information om 5 elever og udskriver den.
#include #include struct student{ int rollno; char name[10]; }; int main(){ int i; struct student st[5]; printf('Enter Records of 5 students'); for(i=0;i<5;i++){ printf(' enter rollno:'); scanf('%d',&st[i].rollno); name:'); scanf('%s',&st[i].name); } printf(' student information list:'); for(i="0;i<5;i++){" printf(' rollno:%d, name:%s',st[i].rollno,st[i].name); return 0; < pre> <p> <strong>Output:</strong> </p> <pre> Enter Records of 5 students Enter Rollno:1 Enter Name:Sonoo Enter Rollno:2 Enter Name:Ratan Enter Rollno:3 Enter Name:Vimal Enter Rollno:4 Enter Name:James Enter Rollno:5 Enter Name:Sarfraz Student Information List: Rollno:1, Name:Sonoo Rollno:2, Name:Ratan Rollno:3, Name:Vimal Rollno:4, Name:James Rollno:5, Name:Sarfraz </pre> <hr></5;i++){>
5;i++){>