Qu'est-ce que Pointeur pendant (dangling pointer) ?

Pointeur qui désigne encore une zone dont la durée de vie est terminée. Les cas typiques sont un pointeur après la libération de la zone par free, et un pointeur sur une variable locale après le retour de la fonction. Lire ou écrire à travers lui (utilisation après libération) ou le libérer une seconde fois (double libération) est un comportement indéfini, et peut sembler fonctionner un certain temps avant de provoquer ailleurs des anomalies dont la cause est difficile à trouver. On l'évite notamment en affectant NULL après free et en ne renvoyant pas hors d'une fonction l'adresse d'une variable locale.

Nom japonais: ダングリングポインタ

« Pointeur pendant (dangling pointer) » apparaît dans 1 questions d'entraînement réparties sur 1 thèmes, dont Bases de la programmation en C.

Domaine: Bases de la programmation en C

« Pointeur pendant (dangling pointer) » dans les explications

Questions mentionnant « Pointeur pendant (dangling pointer) » (1)

  1. Quelle affirmation sur le pointeur renvoyé par la fonction make ci-dessus est correcte ?

Termes associés

Pointeur Variable Pile (stack) Comportement indéfini (undefined behavior) Allocation dynamique de mémoire Alignement et remplissage (padding) Champ de bits (bit-field) Débordement de tampon (buffer overflow) Fuite de mémoire (memory leak) Macro (#define)

Retour au glossaire