Tableau de structures en C
Lorsqu’il s’agit de traiter un vaste ensemble de données connexes et différents types de données, il est crucial de les organiser et de les gérer efficacement. En programmation C, la combinaison de tableaux et de structures, c'est-à-dire un tableau de structures, fournit un outil puissant pour gérer cela. Dans cet article, nous discutons du concept de tableau de structures en C.
Qu’est-ce qu’un tableau ?
Le tableau est une collection homogène d’éléments stockés dans l’emplacement mémoire continu. La taille du tableau est fixe et on peut accéder aléatoirement aux éléments en utilisant leur index.
Déclaration du tableau
array_type array_name [size];
Qu’est-ce que la structure ?
La structure est l'un des types de données définis par l'utilisateur en C qui peut contenir des éléments de différents types en tant que membres.
Déclaration d'une structure en C
struct structure_name{ memberType memberName; ... ... }; Tableau de structures
Un tableau dont les éléments sont de type structure est appelé tableau de structure. C'est généralement utile lorsque nous avons besoin de plusieurs variables de structure dans notre programme.
Besoin d'un ensemble de structures
Supposons que nous ayons 50 employés et que nous devions stocker les données de 50 employés. Donc pour cela, nous devons définir 50 variables de type struct Employee et y stocker les données. Cependant, déclarer et gérer les 50 variables n’est pas une tâche facile. Imaginons un scénario plus grand, comme 1 000 employés.
Donc, si nous déclarons la variable de cette façon, il n’est pas possible de gérer cela.
struct Employee emp1, emp2, emp3, .. . ... . .. ... emp1000;
Pour cela, nous pouvons définir un tableau dont le type de données sera struct Employee soo qui sera facilement gérable.
Déclaration de tableau de structures
struct structure_name array_name [number_of_elements];
Initialisation du tableau de structures
Nous pouvons initialiser le tableau de structures des manières suivantes :
struct structure_name array_name [number_of_elements] = { {element1_value1, element1_value2, ....}, {element2_value1, element2_value2, ....}, ...... ...... }; La même initialisation peut également être effectuée comme suit :
struct structure_name array_name [number_of_elements] = { element1_value1, element1_value2 ...., element2_value1, element2_value2 ..... }; Les compilateurs GNU C prennent en charge l'initialisation désignée pour les structures, nous pouvons donc également l'utiliser dans l'initialisation d'un tableau de structures.
struct structure_name array_name [number_of_elements] = { {.element3 = value, .element1 = value, ....}, {.element2 = value, .elementN = value, ....}, ...... ...... }; Exemple de tableau de structure en 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;> }> |
Sortir
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