Allocation de memoir

janvier 12, 2019 Non Par admin

Description des mécanismes d’allocation dynamique de mémoire en langage C
par Romuald Perrot (Cyber-Avenue)
Date de publication : 28/12/2005 Dernière mise à jour : 16/01/2005

Ce document a pour but de vous familiariser avec les allocations et libérations de mémoire de façon dynamique en langage C. Votre avis et vos suggestions sur ce tutoriel m’intéressent ! Alors après votre lecture,n’hésitez pas :

Description des mécanismes d’allocation dynamique de mémoire en langage C par Romuald Perrot (Cyber-Avenue)

Introduction……………………………………………………………………………………………………………………………………………….3 1 – Allocationdynamique…………………………………………………………………………………………………………………………… 3 1.1 – Fonction malloc…………………………………………………………………………………………………………………………….3 1.1.1 – Allocation dynamique de tableaux………………………………………………………………………………………….. 4 1.2 – Fonctioncalloc……………………………………………………………………………………………………………………………..6 2 – Réallocation dynamique………………………………………………………………………………………………………………………..7 3 – Libération demémoire…………………………………………………………………………………………………………………………. 9 4 – Quelques facilités de programmation…………………………………………………………………………………………………… 10 4.1 – Récupération de la taille à allouer……………………………………………………………………………………………….. 11 4.2 -Macros utiles………………………………………………………………………………………………………………………………11

-2Les sources présentées sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d’auteurs.Copyright © – Romuald Perrot. Aucune reproduction, même partielle, ne peut être faite de ce site et de l’ensemble de son contenu : textes, documents, images, etc sans l’autorisation expresse de l’auteur. Sinon vous encourez selon la loi jusqu’à 3 ans de prison et jusqu’à 300 000 E de dommages et intérêts.
http://rperrot.developpez.com/articles/c/allocationC/

Description des mécanismes d’allocationdynamique de mémoire en langage C par Romuald Perrot (Cyber-Avenue)

Introduction
L’allocation dynamique de mémoire permet la réservation d’un espace mémoire pour son programme au moment de son exécution. Ceci est à mettre en opposition avec l’allocation statique de mémoire. En effet, dans ce type d’allocation, la mémoire est réservée dès le début de l’exécution d’un bloc. L’allocation dynamiqueintervient dans beaucoup de cas, en effet, une des raisons qui explique cela est le fait que l’on ne connaît pas forcément à l’avance le nombre d’objets ou la taille des objets que l’on va créer. Un exemple simple est l’utilisation d’une liste chaînée. Dans une telle structure, on peut ajouter à volonté des maillons dans notre liste sans se soucier du nombre déjà créé et d’une quelconque limiteque l’on pourrait rencontrer dans le cas de l’utilisation d’un tableau. La seule limite à ce système d’allocation est en fait la mémoire disponible sur la machine exécutant le programme. En effet, si vous voulez demander un nouveau bloc mémoire alors qu’il n’y a plus de mémoire disponible (on considère que la mémoire physique et virtuelle sont saturées), l’allocation va échouer. Ce type d’erreur…