logo

Uppsättning av strukturer i C

När man hanterar en stor uppsättning relaterad data och olika datatyper är det avgörande att organisera och hantera det effektivt. I C-programmering ger kombinationen av arrayer och strukturer, dvs. array av strukturer, ett kraftfullt verktyg för att hantera det. I den här artikeln diskuterar vi konceptet med en array av strukturer i C.

insättningssort i java

Vad är Array?

Arrayen är en homogen samling av element lagrade i den kontinuerliga minnesplatsen. Storleken på arrayen är fast och vi kan slumpmässigt komma åt elementen med hjälp av deras index.



Declaration of Array

array_type   array_name  [size];>

Vad är struktur?

Strukturen är en av de användardefinierade datatyperna i C som kan innehålla element av olika typer som dess medlemmar.

Deklaration om en struktur i C



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

Uppsättning av strukturer

En array vars element är av typstruktur kallas array of structure. Det är i allmänhet användbart när vi behöver flera strukturvariabler i vårt program.

Behov av en rad strukturer

Anta att vi har 50 anställda och att vi behöver lagra data från 50 anställda. Så för det måste vi definiera 50 variabler av struct Employee-typ och lagra data inom den. Men att deklarera och hantera de 50 variablerna är ingen lätt uppgift. Låt oss föreställa oss ett större scenario, som 1000 anställda.

Så om vi deklarerar variabeln på detta sätt är det inte möjligt att hantera detta.



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

För det kan vi definiera en array vars datatyp kommer att vara struct Employee soo som kommer att vara lätt att hantera.

Declaration of Array of Structures

  struct     structure_name array_name   [number_of_elements];>

Initialisering av Array of Structures

Vi kan initiera arrayen av strukturer på följande sätt:

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

Samma initiering kan också göras som:

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

GNU C-kompilatorer stöder designad initiering för strukturer så vi kan också använda detta i initieringen av en uppsättning strukturer.

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

Exempel på Array of Structure i C

C


knn algoritm



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

hrithik roshan
>

>

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>