Fermer2
SasumeLe 30/04/2004 à 11:51
Pour l'IUT, on doit faire un programme où l'espace mémoire utilisé varie au cours du programme. On fait ça en C++.
Donc, la méthode brute serait de faire un realloc : lorsqu'on a besoin d'agrandir l'espace utilisé, on alloue un bloc de taille plus grande que l'actuel, dans lequel on recopie le contenu du bloc actuel, puis on libère le bloc actuel et on utilise le nouveau bloc comme bloc actuel.

Mais je pense que ce serait mieux si au lieu de ça, à chaque fois que j'ai besoin d'agrandir mon bloc, j'alloue un nouveau bloc d'une taille moyenne, assez petite, et je l'utilise comme s'il était contigu au précédent. Mais pour gérer ça, pour l'instant la seule solution à laquelle j'ai pensé est de faire une liste chainée de blocs de mémoire, et en fonction de l'endroit auquel je veux accéder du grand bloc virtuel constitué par tous ces blocs, je sélectionne le bloc que je veux dans ma liste chainée. Il y a plus simple ?