Allocation mémoire
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// Définition de la structure Personne
typedef struct {
char nom[50];
char prenom[50];
int matricule;
} Personne;
int main() {
// Déclaration d'un pointeur pour un tableau de Personne
Personne *TabPers;
int n = 3; // Nombre de personnes
// Allocation dynamique de mémoire pour le tableau
TabPers = (Personne *) malloc(n * sizeof(Personne));
if (TabPers==NULL) {
printf("Memory allocation failed\n");
return 1;
}
// Initialisation du tableau
strcpy(TabPers[0].nom, "Elayadi");
strcpy(TabPers[0].prenom, "Yazid");
TabPers[0].matricule = 12345;
strcpy(TabPers[1].nom, "Elfadli");
strcpy(TabPers[1].prenom, "Mouad");
TabPers[1].matricule = 67890;
strcpy(TabPers[2].nom, "Ennakr");
strcpy(TabPers[2].prenom, "Ayman");
TabPers[2].matricule = 11223;
// Affichage du tableau
for (int i = 0; i < n; i++) {
printf("Personne %d:\n", i + 1);
printf("Nom: %s\n", TabPers[i].nom);
printf("Prenom: %s\n", TabPers[i].prenom);
printf("Matricule: %d\n\n", TabPers[i].matricule);
}
// Libération de la mémoire
free(TabPers);
return 0;
}