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>