Tablica struktur a tablica w strukturze w C
Obydwa Tablica struktur I Tablica w strukturze w programowaniu C jest kombinacją tablic i struktur, ale obie służą różnym celom.
Tablica w strukturze
Struktura to typ danych C pozwala to na traktowanie grupy powiązanych zmiennych jako pojedynczej jednostki, a nie oddzielnych jednostek. Struktura może zawierać elementy różnych typów danych – int, char, float, double itp. Może także zawierać tablicę jako swój element. Taka tablica nazywana jest tablicą w strukturze. Tablica w strukturze jest członkiem tej struktury i można uzyskać do niej dostęp w taki sam sposób, w jaki uzyskujemy dostęp do innych elementów struktury.
Poniżej znajduje się demonstracja programu wykorzystującego koncepcję tablicy w strukturze. Program wyświetla kartotekę ucznia obejmującą numer rolki , stopień , I znaki zabezpieczone w różnych tematach. Oceny z różnych przedmiotów zostały zapisane w tablicy zwanej znaki . Cały rekord przechowywany jest w strukturze zwanej A kandydat .
Przykład
Poniższy program demonstruje użycie tablicy w strukturze.
C
// C program to demonstrate the> // use of an array within a structure> #include> // Declaration of the structure candidate> struct> candidate {> > int> roll_no;> > char> grade;> > // Array within the structure> > float> marks[4];> };> // Function to displays the content of> // the structure variables> void> display(> struct> candidate a1)> {> > printf> (> 'Roll number : %d
'> , a1.roll_no);> > printf> (> 'Grade : %c
'> , a1.grade);> > printf> (> 'Marks secured:
'> );> > int> i;> > int> len => sizeof> (a1.marks) /> sizeof> (> float> );> > // Accessing the contents of the> > // array within the structure> > for> (i = 0; i printf('Subject %d : %.2f
', i + 1, a1.marks[i]); } } // Driver Code int main() { // Initialize a structure struct candidate A = { 1, 'A', { 98.5, 77, 89, 78.5 } }; // Function to display structure display(A); return 0; }> |
Wyjście
Roll number : 1 Grade : A Marks secured: Subject 1 : 98.50 Subject 2 : 77.00 Subject 3 : 89.00 Subject 4 : 78.50
Tablica struktur
Tablica to zbiór elementów danych tego samego typu. Każdy element tablicy może być int, char, float, double lub nawet strukturą. Widzieliśmy, że struktura umożliwia grupowanie elementów różnych typów danych pod jedną nazwą. Strukturę tę można następnie traktować jako nowy typ danych sam w sobie. Zatem tablica może zawierać elementy tego nowego typu danych. Szereg struktur znajduje zastosowanie przy grupowaniu rekordów i zapewnia szybki dostęp.
Poniżej znajduje się demonstracja szeregu struktur. Tablica przechowuje szczegółowe informacje o uczniach w klasie. Szczegóły obejmują numer rolki, stopień , i znaki , które zostały pogrupowane w strukturę (rekord). Dla każdego ucznia istnieje jeden rekord. W ten sposób można zebrać zbiór powiązanych zmiennych w jedną całość, aby zwiększyć przejrzystość kodu i zwiększyć jego wydajność.
Przykład
Poniższy program demonstruje użycie tablicy struktur.
C
// C program to demonstrate the> // usage of an array of structures> #include> // Declaring a structure class> struct> class> {> > int> roll_no;> > char> grade;> > float> marks;> };> // Function to displays the contents> // of the array of structures> void> display(> struct> class> class_record[3])> {> > int> i, len = 3;> > // Display the contents of the array> > // of structures here, each element> > // of the array is a structure of class> > for> (i = 0; i printf('Roll number : %d
', class_record[i].roll_no); printf('Grade : %c
', class_record[i].grade); printf('Average marks : %.2f
', class_record[i].marks); printf('
'); } } // Driver Code int main() { // Initialize of an array of structures struct class class_record[3] = { { 1, 'A', 89.5f }, { 2, 'C', 67.5f }, { 3, 'B', 70.5f } }; // Function Call to display // the class_record display(class_record); return 0; }> |
Wyjście
Roll number : 1 Grade : A Average marks : 89.50 Roll number : 2 Grade : C Average marks : 67.50 Roll number : 3 Grade : B Average marks : 70.50
Różnica między szykiem struktur a szykiem w strukturach
Poniżej znajduje się tabelaryczna różnica między tablicą w strukturze a tablicą struktur:
| Parametr | Tablica w strukturze | Tablica struktur |
|---|---|---|
| Podstawowy pomysł | Struktura zawiera tablicę jako zmienną składową. | Tablica, w której każdy element ma strukturę typu. |
| Składnia | klasa struktury { int ar[10]; } a1, a2, a3; | klasa struktury { int a, b, c; } studenci[10]; |
| Dostęp | Można uzyskać do niego dostęp za pomocą operatora kropki, tak samo jak uzyskujemy dostęp do innych elementów konstrukcji. | Można uzyskać do niego dostęp poprzez indeksowanie, tak samo jak uzyskujemy dostęp do tablicy. |
| Składnia elementów dostępu | struktura.tablica[indeks] | tablica[indeks].członek |
| Struktura pamięci | Tablica w strukturze będzie przechowywana w pamięci sekwencyjnej, a dopełnienie struktury nie jest zależne od rozmiaru tablicy. | Pomiędzy elementami konstrukcji będzie pusta przestrzeń z powodu wypełnienia konstrukcji. |