Struktūru masīvs pret masīvu struktūrā C valodā

Abi Struktūru masīvs un Masīvs struktūrā C programmēšana ir masīvu un struktūru kombinācija, taču abas tiek izmantotas dažādiem mērķiem.

Masīvs struktūrā

Struktūra ir datu tips C kas ļauj saistītu mainīgo lielumu grupu uzskatīt par vienu vienību, nevis atsevišķu entītiju. Struktūra var saturēt dažādu datu tipu elementus – int, char, float, double utt. Tā var saturēt arī masīvu kā tās dalībnieku. Šādu masīvu sauc par masīvu struktūrā. Masīvs struktūrā ir struktūras loceklis, un tam var piekļūt tāpat kā mēs piekļūstam citiem struktūras elementiem.

Tālāk ir parādīta programma, kas izmanto masīva jēdzienu struktūrā. Programma parāda studenta ierakstu, kas ietver ruļļa numurs , pakāpe , un atzīmes nodrošināti dažādos priekšmetos. Atzīmes dažādos priekšmetos ir saglabātas zem masīva, ko sauc atzīmes . Viss ieraksts tiek glabāts struktūrā, ko sauc a kandidāts .



Piemērs

Tālāk redzamā programma parāda masīva izmantošanu struktūrā.

C




// C program to demonstrate the> // use of an array within a structure> #include> // Declaration of the structure candidate> struct> candidate {> > int> roll_no;> > char> grade;> > // Array within the structure> > float> marks[4];> };> // Function to displays the content of> // the structure variables> void> display(> struct> candidate a1)> {> > printf> (> 'Roll number : %d '> , a1.roll_no);> > printf> (> 'Grade : %c '> , a1.grade);> > printf> (> 'Marks secured: '> );> > int> i;> > int> len => sizeof> (a1.marks) /> sizeof> (> float> );> > // Accessing the contents of the> > // array within the structure> > for> (i = 0; i printf('Subject %d : %.2f ', i + 1, a1.marks[i]); } } // Driver Code int main() { // Initialize a structure struct candidate A = { 1, 'A', { 98.5, 77, 89, 78.5 } }; // Function to display structure display(A); return 0; }>

Izvade

Roll number : 1 Grade : A Marks secured: Subject 1 : 98.50 Subject 2 : 77.00 Subject 3 : 89.00 Subject 4 : 78.50 

Struktūru masīvs

Masīvs ir tāda paša veida datu vienumu kolekcija. Katrs masīva elements var būt int, char, float, double vai pat struktūra. Mēs esam redzējuši, ka struktūra ļauj dažādu datu tipu elementus grupēt kopā ar vienu nosaukumu. Pēc tam šo struktūru var uzskatīt par jaunu datu tipu. Tātad masīvs var ietvert šī jaunā datu tipa elementus. Struktūru masīvs atrod savus lietojumus, grupējot ierakstus un nodrošina ātru piekļuvi.

Zemāk ir parādīts dažādu struktūru klāsts. Masīvā ir informācija par klases skolēniem. Sīkāka informācija ietver ruļļa numurs, pakāpe , un atzīmes , kas ir sagrupēti zem struktūras (ieraksta). Katram studentam ir viens ieraksts. Tādā veidā saistītu mainīgo lielumu kolekciju var apkopot vienā entītijā, lai uzlabotu koda skaidrību un palielinātu tā efektivitāti.

Piemērs

Zemāk esošā programma parāda dažādu struktūru izmantošanu.

C




// C program to demonstrate the> // usage of an array of structures> #include> // Declaring a structure class> struct> class> {> > int> roll_no;> > char> grade;> > float> marks;> };> // Function to displays the contents> // of the array of structures> void> display(> struct> class> class_record[3])> {> > int> i, len = 3;> > // Display the contents of the array> > // of structures here, each element> > // of the array is a structure of class> > for> (i = 0; i printf('Roll number : %d ', class_record[i].roll_no); printf('Grade : %c ', class_record[i].grade); printf('Average marks : %.2f ', class_record[i].marks); printf(' '); } } // Driver Code int main() { // Initialize of an array of structures struct class class_record[3] = { { 1, 'A', 89.5f }, { 2, 'C', 67.5f }, { 3, 'B', 70.5f } }; // Function Call to display // the class_record display(class_record); return 0; }>

Izvade

Roll number : 1 Grade : A Average marks : 89.50 Roll number : 2 Grade : C Average marks : 67.50 Roll number : 3 Grade : B Average marks : 70.50 

Atšķirība starp struktūru masīvu un masīvu struktūrās

Zemāk ir tabulas atšķirība starp masīvu struktūrā un struktūru masīvu:

Parametrs

Masīvs struktūrā

Struktūru masīvs

Pamatideja Struktūra satur masīvu kā tās dalībnieku mainīgo. Masīvs, kurā katram elementam ir tipa struktūra.
Sintakse struct class { int ar[10]; } a1, a2, a3; struct class { int a, b, c; } studenti[10];
Piekļuve Var piekļūt, izmantojot punktu operatoru, tāpat kā mēs piekļūstam citiem struktūras elementiem. Var piekļūt, indeksējot, tāpat kā mēs piekļūstam masīvam.
Piekļuves elementu sintakse struktūra.masīvs[indekss] masīvs[indekss].biedrs
Atmiņas struktūra Masīvs struktūrā tiks saglabāts secīgā atmiņā, un struktūras pildījums nav atkarīgs no masīva lieluma. Struktūras polsterējuma dēļ starp struktūras elementiem būs tukša vieta.


Top Raksti

Kategorija

Interesanti Raksti