« Introduction au langage C/Allocation dynamique de mémoire » : différence entre les versions
Contenu supprimé Contenu ajouté
→Libération de la mémoire : Précision fuite mémoire. |
→Allocation dynamique d'un tableau : Tableau VLA |
||
Ligne 71 :
<source lang="C">int tab[var];</source>
Ceci était interdit en C89, il fallait faire une allocation dynamique comme vu précédemment. Mais C99 a introduit les [[b:Programmation C/Tableaux#|tableaux de taille variables]] (VLA : Variable Length Array) qui résolvent une partie des problèmes. Cependant leur passage en paramètre à une fonction oblige de transmettre aussi les tailles de leurs dimensions, certaines fonctions écrites avant C99 comme qsort de stdlib.h ne supporte pas ce mécanisme et nécessitent pour être utilisées des tableaux allouées dynamiquement de la façon suivante :
<source lang="C">int *tab= malloc(var * sizeof(int));</source>
|