logo

Array af strukturer i C

Når man beskæftiger sig med et stort sæt af relaterede data og forskellige datatyper, er det afgørende at organisere og administrere dem effektivt. I C-programmering giver kombinationen af ​​arrays og strukturer, dvs. array af strukturer, et kraftfuldt værktøj til at styre det. I denne artikel diskuterer vi begrebet en række af strukturer i C.

java åben fil

Hvad er Array?

Arrayet er en homogen samling af elementer, der er gemt i den kontinuerlige hukommelsesplacering. Størrelsen af ​​arrayet er fast, og vi kan tilfældigt få adgang til elementerne ved hjælp af deres indeks.

Declaration of Array



array_type   array_name  [size];>

Hvad er struktur?

Strukturen er en af ​​de brugerdefinerede datatyper i C, der kan indeholde elementer af forskellige typer som dens medlemmer.

Erklæring om en struktur i C

  struct   structure_name{    memberType memberName;   ...  ... };>

Vifte af strukturer

En matrix, hvis elementer er af typen struktur, kaldes matrix af struktur. Det er generelt nyttigt, når vi har brug for flere strukturvariabler i vores program.

Behov for række af strukturer

Antag, at vi har 50 ansatte, og vi skal gemme data fra 50 ansatte. Så til det skal vi definere 50 variabler af struct Employee type og gemme dataene i det. Men at deklarere og håndtere de 50 variabler er ikke en let opgave. Lad os forestille os et større scenarie, som 1000 ansatte.

Så hvis vi erklærer variablen på denne måde, er det ikke muligt at håndtere dette.

struct Employee emp1, emp2, emp3, .. . ... . .. ... emp1000;>

Til det kan vi definere et array, hvis datatype vil være struct Employee soo, som vil være let at administrere.

Erklæring om række af strukturer

  struct     structure_name array_name   [number_of_elements];>

Initialisering af Array of Structures

Vi kan initialisere rækken af ​​strukturer på følgende måder:

  struct     structure_name array_name   [number_of_elements] = {  {element1_value1, element1_value2, ....},  {element2_value1, element2_value2, ....},  ......  ...... };>

Den samme initialisering kan også udføres som:

python os listedir
  struct     structure_name array_name   [number_of_elements] = {  element1_value1, element1_value2 ....,  element2_value1, element2_value2 ..... };>

GNU C compilere understøtter udpeget initialisering for strukturer, så vi kan også bruge dette i initialiseringen af ​​en række strukturer.

  struct     structure_name array_name   [number_of_elements] = {  {.element3 = value, .element1 = value, ....},  {.element2 = value, .elementN = value, ....},  ......  ...... };>

Eksempel på Array of Structure i C

C




// 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;> }>

fjedermoduler

>

>

Produktion

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>