Varför använda en rad strukturer?
Tänk på ett fall där vi behöver lagra data från 5 elever. Vi kan lagra det genom att använda strukturen enligt nedan.
#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 programmet ovan har vi lagrat data om 3 elever i strukturen. Däremot kommer komplexiteten i programmet att öka om det är 20 studenter. I så fall måste vi deklarera 20 olika strukturvariabler och lagra dem en efter en. Detta kommer alltid att vara svårt eftersom vi måste deklarera en variabel varje gång vi lägger till en elev. Att komma ihåg namnet på alla variabler är också en mycket knepig uppgift. Men c gör det möjligt för oss att deklarera en array av strukturer genom att använda vilka vi kan undvika att deklarera de olika strukturvariablerna; istället kan vi göra en samling som innehåller alla strukturer som lagrar information från olika enheter.
Uppsättning av strukturer i C
En rad strukturer i C kan definieras som en samling av multipla strukturvariabler där varje variabel innehåller information om olika entiteter. Utbudet av strukturer i C används för att lagra information om flera enheter av olika datatyper. Uppsättningen av strukturer är också känd som samlingen av strukturer.
Låt oss se ett exempel på en rad strukturer som lagrar information om 5 elever och skriver ut 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++){>