logo

Niz struktur v C

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>