logo

C Matriu d'estructures

Per què utilitzar una sèrie d'estructures?

Considerem un cas en què hem d'emmagatzemar les dades de 5 alumnes. Podem emmagatzemar-lo utilitzant l'estructura que es mostra a continuació.

mapa 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); } 

Sortida

 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 

En el programa anterior, hem emmagatzemat dades de 3 estudiants a l'estructura. Tanmateix, la complexitat del programa augmentarà si hi ha 20 estudiants. En aquest cas, haurem de declarar 20 variables d'estructura diferents i emmagatzemar-les una per una. Això sempre serà difícil, ja que haurem de declarar una variable cada vegada que afegim un alumne. Recordar el nom de totes les variables també és una tasca molt complicada. Tanmateix, c ens permet declarar una matriu d'estructures mitjançant la qual cosa, podem evitar declarar les diferents variables d'estructura; en canvi podem fer una col·lecció que contingui totes les estructures que emmagatzemen la informació de diferents entitats.

Matriu d'estructures en C

Una matriu d'estructures a C es pot definir com la col·lecció de variables d'estructures múltiples on cada variable conté informació sobre diferents entitats. La matriu de estructures a C s'utilitzen per emmagatzemar informació sobre diverses entitats de diferents tipus de dades. La matriu d'estructures també es coneix com a col·lecció d'estructures.

c matriu d'estructures

Vegem un exemple d'una matriu d'estructures que emmagatzema informació de 5 estudiants i la imprimeix.

 #include #include struct student{ int rollno; char name[10]; }; int main(){ int i; struct student st[5]; printf(&apos;Enter Records of 5 students&apos;); 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&lt;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++){>