Kāpēc izmantot dažādas struktūras?
Aplūkosim gadījumu, kad jāuzglabā 5 studentu dati. Mēs varam to uzglabāt, izmantojot tālāk norādīto struktūru.
izņēmumu apstrāde java
#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); }
Izvade
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
Iepriekš minētajā programmā mēs struktūrā esam saglabājuši 3 studentu datus. Taču programmas sarežģītība tiks palielināta, ja būs 20 studenti. Tādā gadījumā mums būs jādeklarē 20 dažādi struktūras mainīgie un jāsaglabā tie pa vienam. Tas vienmēr būs grūti, jo mums būs jādeklarē mainīgais katru reizi, kad pievienosim studentu. Arī visu mainīgo nosaukumu atcerēšanās ir ļoti grūts uzdevums. Tomēr c ļauj mums deklarēt struktūru masīvu, izmantojot kuru mēs varam izvairīties no dažādu struktūras mainīgo deklarēšanas; tā vietā mēs varam izveidot kolekciju, kurā ir visas struktūras, kas glabā dažādu entītiju informāciju.
Struktūru klāsts C
Struktūru masīvs iekšā C var definēt kā vairāku struktūru mainīgo kolekciju, kur katrs mainīgais satur informāciju par dažādām entītijām. Masīvs no struktūras C tiek izmantoti, lai saglabātu informāciju par vairākām dažādu datu tipu entītijām. Struktūru masīvs ir pazīstams arī kā struktūru kolekcija.
Apskatīsim piemēru struktūru masīvam, kurā tiek glabāta informācija par 5 skolēniem un izdrukāta tā.
#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++){>