Was ist Dangling Pointer (hängender Zeiger)?

Zeiger, der weiterhin auf einen Bereich zeigt, dessen Lebensdauer abgelaufen ist. Typisch sind ein Zeiger nach der Freigabe mit free und ein Zeiger auf die Adresse einer lokalen Variablen nach der Rückkehr aus der Funktion. Lesen oder Schreiben über ihn (Use-after-free) oder ein erneutes free (doppelte Freigabe) ist undefiniertes Verhalten; das Programm kann eine Zeit lang korrekt zu laufen scheinen und dann an anderer Stelle Fehler verursachen, deren Ursache schwer zu finden ist. Vorbeugen lässt sich etwa, indem man nach free NULL zuweist und keine Adressen lokaler Variablen aus der Funktion zurückgibt.

Japanische Bezeichnung: ダングリングポインタ

„Dangling Pointer (hängender Zeiger)“ kommt in 1 Übungsfragen aus 1 Themen vor, z. B. Grundlagen der Programmiersprache C.

Fachgebiet: Grundlagen der Programmiersprache C

„Dangling Pointer (hängender Zeiger)“ in den Erläuterungen

Fragen mit „Dangling Pointer (hängender Zeiger)“ (1)

  1. Was trifft auf den Zeiger zu, den die obige Funktion make zurückgibt?

Verwandte Begriffe

Zeiger (Pointer) Variable Stack (Stapelspeicher) Undefiniertes Verhalten (Undefined Behavior) Dynamische Speicherreservierung Ausrichtung und Auffüllung (Alignment und Padding) Bitfeld Funktionszeiger Integer-Promotion Makro

Zur Glossarübersicht