Ko imamo opravka z velikim naborom povezanih podatkov in različnimi tipi podatkov, je njihovo učinkovito organiziranje in upravljanje ključnega pomena. V programiranju C kombinacija nizov in struktur, tj. nizov struktur, zagotavlja močno orodje za upravljanje tega. V tem članku razpravljamo o konceptu niza struktur v C.
niz za char java
Kaj je Array?
Matrika je homogena zbirka elementov, shranjenih na neprekinjeni pomnilniški lokaciji. Velikost matrike je fiksna in do elementov lahko naključno dostopamo z uporabo njihovega indeksa.
Deklaracija matrike
array_type array_name [size];>
Kaj je Struktura?
Struktura je eden izmed uporabniško definiranih podatkovnih tipov v C, ki lahko kot člane vsebuje elemente različnih tipov.
Deklaracija strukture v C
struct structure_name{ memberType memberName; ... ... };> Niz struktur
Niz, katerega elementi so strukture tipa, se imenuje niz struktur. Na splošno je uporaben, ko potrebujemo več strukturnih spremenljivk v našem programu.
Potreba po nizu struktur
Recimo, da imamo 50 zaposlenih in moramo shraniti podatke 50 zaposlenih. Za to moramo torej definirati 50 spremenljivk tipa struct Employee in znotraj tega shraniti podatke. Vendar deklariranje in obravnavanje 50 spremenljivk ni lahka naloga. Predstavljajmo si večji scenarij, na primer 1000 zaposlenih.
Torej, če spremenljivko deklariramo na ta način, tega ni mogoče obravnavati.
struct Employee emp1, emp2, emp3, .. . ... . .. ... emp1000;>
Za to lahko definiramo matriko, katere podatkovni tip bo struct Employee, tako da bo enostavno upravljati.
Deklaracija niza struktur
struct structure_name array_name [number_of_elements];>
Inicializacija niza struktur
Niz struktur lahko inicializiramo na naslednje načine:
struct structure_name array_name [number_of_elements] = { {element1_value1, element1_value2, ....}, {element2_value1, element2_value2, ....}, ...... ...... };> Enako inicializacijo lahko izvedete tudi kot:
struct structure_name array_name [number_of_elements] = { element1_value1, element1_value2 ...., element2_value1, element2_value2 ..... };> Prevajalniki GNU C podpirajo določeno inicializacijo za strukture, tako da lahko to uporabimo tudi pri inicializaciji niza struktur.
struct structure_name array_name [number_of_elements] = { {.element3 = value, .element1 = value, ....}, {.element2 = value, .elementN = value, ....}, ...... ...... };> Primer niza strukture v C
C
seja je potekla
// C program to demonstrate the array of structures> #include> > // structure template> struct> Employee {> >char> Name[20];> >int> employeeID;> >int> WeekAttendence[7];> };> > // driver code> int> main()> {> >// defining array of structure of type Employee> >struct> Employee emp[5];> > >// adding data> >for> (>int> i = 0; i <5; i++) {> >emp[i].employeeID = i;> >strcpy>(emp[i].Name,>'Amit'>);> >int> week;> >for> (week = 0; week <7; week++) {> >int> attendence;> >emp[i].WeekAttendence[week] = week;> >}> >}> >printf>(>'
'>);> > >// printing data> >for> (>int> i = 0; i <5; i++) {> >printf>(>'Emplyee ID: %d - Employee Name: %s
'>,> >emp[i].employeeID, emp[i].Name);> >printf>(>'Attendence
'>);> >int> week;> >for> (week = 0; week <7; week++) {> >printf>(>'%d '>, emp[i].WeekAttendence[week]);> >}> >printf>(>'
'>);> >}> > >return> 0;> }> |
ups koncepti v Javi
>
>
Izhod
Emplyee ID: 0 - Employee Name: Amit Attendence 0 1 2 3 4 5 6 Emplyee ID: 1 - Employee Name: Amit Attendence 0 1 2 3 4 5 6 Emplyee ID: 2 - Employee Name: Amit Attendence 0 1 2 3 4 5 6 Emplyee ID: 3 - Employee Name: Amit Attendence 0 1 2 3 4 5 6 Emplyee ID: 4 - Employee Name: Amit Attendence 0 1 2 3 4 5 6>