Anfängerfrage zum Thema Speicher freigeben
-
Hallo zusammen,
ich bin kürzlich gezwungenermaße von Java auf C umgestiegen und tu mich etwas schwer.
Angenommen ich hab für ein Array mit malloc Speicher angefordert und stelle irgendwann fest, dass ich nicht soviel brauche. Angenommen es gibt 10 Elemente im Array, aber ich habe dann doch nur 7 eingefügt... wie kann ich die übrigen wieder freigeben?
-
Nein.
-
Bashar schrieb:
Nein.
Eine "Wie" Frage ist in der Regel nicht mit Ja/Nein zu beantworten
Nicht möglich...
Entweder zu ermittelst zuerst wie viel Platz du brauchst und reserviersten den Speicher erst dann; oder du machst einen neunen malloc mit der richtigen Grösse und weisst die Daten vom dem zu Grossen Speichers dem neunen Speicher zu und gibst den zu grossen Speicher wieder frei.
-
realloc nennt sich das, was du suchst.
-
Ethon schrieb:
realloc nennt sich das, was du suchst.
Oh, stimmt. realloc kann ja auch verkleinern.
-
c_noob00 schrieb:
Angenommen ich hab für ein Array mit malloc Speicher angefordert
In C kann man kein Array mit malloc definieren.