W przypadku dużego zbioru powiązanych danych i różnych typów danych kluczowe znaczenie ma efektywne ich organizowanie i zarządzanie nimi. W programowaniu C kombinacja tablic i struktur, tj. tablica struktur, zapewnia potężne narzędzie do zarządzania tym. W tym artykule omawiamy koncepcję tablicy struktur w języku C.
pierwsze dziecko CSS
Co to jest tablica?
Tablica jest jednorodnym zbiorem elementów przechowywanych w lokalizacji pamięci ciągłej. Rozmiar tablicy jest stały i możemy losowo uzyskać dostęp do elementów za pomocą ich indeksu.
Deklaracja tablicy
array_type array_name [size];>
Co to jest struktura?
Struktura jest jednym z typów danych zdefiniowanych przez użytkownika w C, który może zawierać elementy różnych typów jako swoje elementy.
Deklaracja struktury w C
struct structure_name{ memberType memberName; ... ... };> Tablica struktur
Tablicę, której elementy mają strukturę typu, nazywa się tablicą struktury. Jest to ogólnie przydatne, gdy potrzebujemy wielu zmiennych strukturalnych w naszym programie.
Potrzeba tablicy struktur
Załóżmy, że mamy 50 pracowników i musimy przechowywać dane 50 pracowników. W tym celu musimy zdefiniować 50 zmiennych typu struct Employee i przechowywać w nich dane. Jednak deklarowanie i obsługa 50 zmiennych nie jest łatwym zadaniem. Wyobraźmy sobie większy scenariusz, na przykład 1000 pracowników.
Jeśli więc zadeklarujemy zmienną w ten sposób, nie będzie można sobie z tym poradzić.
struct Employee emp1, emp2, emp3, .. . ... . .. ... emp1000;>
W tym celu możemy zdefiniować tablicę, której typem danych będzie struct Employee, dzięki czemu będzie łatwo zarządzać.
świat wumpusa
Deklaracja układu struktur
struct structure_name array_name [number_of_elements];>
Inicjalizacja tablicy struktur
Tablicę struktur możemy zainicjować w następujący sposób:
struct structure_name array_name [number_of_elements] = { {element1_value1, element1_value2, ....}, {element2_value1, element2_value2, ....}, ...... ...... };> Tę samą inicjalizację można również wykonać w następujący sposób:
struct structure_name array_name [number_of_elements] = { element1_value1, element1_value2 ...., element2_value1, element2_value2 ..... };> Kompilatory GNU C obsługują wyznaczoną inicjalizację struktur, więc możemy jej również użyć do inicjalizacji tablicy struktur.
struct structure_name array_name [number_of_elements] = { {.element3 = value, .element1 = value, ....}, {.element2 = value, .elementN = value, ....}, ...... ...... };> Przykład tablicy struktury w C
C
co to jest obj w Javie
// 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;> }> |
>
>
Wyjście
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>