![]() |
"public-Pointer" wird nach Verlassen einer Fkt. ze
Hallöchen ;-)
Ich stehe mal wieder vor einem Rätsel... Ich habe in meinem C-Projekt einen "public-Zeiger" (falls man das so nennt) deklariert:
Code:
Jetzt rufe ich eine Funktion auf, die diesen Zeiger benutzt und den Speicher, auf den der Zeiger zeigt mit
MIXED_ROMCODE *rommix;
Code:
erweitert.
rommix = (MIXED_ROMCODE*) realloc(rommix, (rom_anzahl+1)*sizeof(MIXED_ROMCODE));
Letztendlich greife ich dann -wenn die Funktion durchlaufen wurde auf den Inhalt des Zeigers "rommix" zu und das Programm stürzt ab. Ich habe mir mal die Adresse, auf die rommix nach der Funktion zeigt, mal ausgeben lassen: 0 Ich habe schon viel gegoogelt und folgendes gefunden: Zitat:
Gruß, Elko |
Re: "public-Pointer" wird nach Verlassen einer Fkt
In C ist der Terminus "automatische Variable" äquivalent zu "lokale Variable". Wenn ich den Text richtig verstehe, wird hier nur ausgesagt, dass deine Zeiger-Variable zerstört wird, aber nicht, dass der Speicher freigegeben wird.
|
Re: "public-Pointer" wird nach Verlassen einer Fkt
Zitat:
|
Re: "public-Pointer" wird nach Verlassen einer Fkt
Hmmm, ihr glaubt gar nicht, was für ein trivialer Fehler mir unterlaufen ist:
Ich habe der Funktion nochmals einen Pointer auf rommix übergeben. Und der wird natürlich zerstört... naja, jetzt hab ich einfach den einen Parameter entfernt... jetzt läufts :thumb: trotzdem: thx @all :zwinker: Gruß, Elko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz