Allocations statiques et dynamiques

  • Mise à jour le 27 septembre 2024
  • 1 min. à lire

L'allocation statique et l'allocation dynamique sont deux méthodes de gestion de la mémoire en programmation.

L'allocation statique se produit à la compilation du programme. La mémoire est réservée pour les variables dont la taille est connue à l'avance et reste fixe tout au long de l'exécution. Ces variables sont généralement déclarées globalement ou avec le mot-clé static en C/C++.

Exemple d'allocation statique en C :

int tableau[100]; // Tableau de taille fixe, alloué statiquement

L'allocation dynamique, quant à elle, se fait pendant l'exécution du programme. Elle permet de réserver de la mémoire selon les besoins, offrant plus de flexibilité. Cette méthode est utile quand la quantité de mémoire nécessaire n'est pas connue à l'avance ou varie au cours de l'exécution.

Exemple d'allocation dynamique en C :

int *tableau = (int*)malloc(100 * sizeof(int)); // Tableau alloué dynamiquement

Les deux types d'allocation ont leurs avantages et inconvénients. L'allocation statique est plus rapide et plus sûre, mais moins flexible. L'allocation dynamique offre plus de souplesse mais nécessite une gestion manuelle de la mémoire (libération) pour éviter les fuites.

Dans les langages modernes comme Python ou Java, l'allocation dynamique est gérée automatiquement par le ramasse-miettes (garbage collector), simplifiant ainsi la tâche du programmeur.

tracking-thumb