Zum Inhalt springen

ragosti

Mitglieder
  • Gesamte Inhalte

    2
  • Benutzer seit

  • Letzter Besuch

  1. Hallo zusammen, Habe ein Verständnisproblem mit den lieben Zeigern. Das ganze tritt in einem etwas komplexeren Zusammenhang auf , aber ich hab es reduziert auf dies einfache Beispiel, welches mein Verständnisproblem gut erklärt. Situation: ich hab 'nen Zeiger, übergebe ihn an eine Funktion, gebe dort den Speicherplatz frei. Wie kann ich jetzt sicherstellen, dass ich in der aufrufenden Funktion mitbekomme, das der Platz schon freigegeben wurde? Also, folgendes Beispiel endet mit einem ganz üblen Segmentation fault, da er versucht ein delete auf y auszuführen: #include <unistd.h> #include <stdio.h> void testdel(int *x) { if (x!=NULL) delete x; x=NULL; }; int main ( int argc, char** argv){ int *y= new int(5); testdel(y); if (y!=NULL) { delete y; y=NULL; } } Mein Problem ist nun das ich nicht wirklich bis in die Tiefe verstehe, WIESO es knallt: Denn ich habe mit *y einen Zeiger definiert, den ich mit y übergebe und in der Funktion als x verändern darf, mithin auch den Speicherplatz freigeben, (soweit funktioniert es ja auch) aber dann muss es doch auch möglich sein, mit x=NULL oder mit *x=NULL, der aufrufenden Funktion irgendwie mitzuteilen, dass y jetzt NULL ist. Wenn das so nicht geht, dann muss es doch zumindest irgendeine Prüfung für y oder *y oder was auch immer geben, welche mir sagt, ob da noch Speicherplatz belegt wird, der freigegeben werden muss. Wie gesagt, die Prüfung im main -Programm wie oben implementiert, geht leider schief - WARUM bzw. wie kann ich das ändern? vielen Dank, ragosti PS: ich denke, ich brauche eine Lösung, die ohne Pointer auf Pointer auskommt....

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...