Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Information verloren?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
22.02.2005, 00:08 Uhr
Pablo
Supertux
(Operator)


Angenommen ich hab folgendes:


C++:
typ* tmp;
typ* arr = malloc(sizeof(typ)*10);
....
tmp = realloc(arr, sizeof(typ)*5);



kann es einen Fall geben, bei dem tmp==NULL wird? Ist das möglich? imho sollte das eigentlich nicht geben, weil man einfach weniger Speicherplatz nutzen würde, oder sehe ich das falsch?
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 22.02.2005 um 00:08 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
22.02.2005, 00:58 Uhr
0xdeadbeef
Gott
(Operator)


So einen Fall kann es natürlich geben. Die einfachste Variante wäre, wenn der malloc-Aufruf schon NULL zurückgibt, dann verhält sich realloc nämlich genauso wie malloc, und das kann wieder fehlschlagen.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
22.02.2005, 02:43 Uhr
Pablo
Supertux
(Operator)


Naja, ich ging davon aus, dass malloc nicht fehlschlägt. Also es ist ratsam in diesem Fall doch (von realloc) doch auf tmp==NULL zu prüfen?
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
22.02.2005, 06:22 Uhr
virtual
Sexiest Bit alive
(Operator)


Es mag sein, daß es realloc Implementierungen gibt, die im Falle einer Verkleinerung des Speichers den bishiergen Speicher weiternutzen. Verläßlich ist das allerdings nicht und daher solltest Du im Source keine unterschiedliche Behandlung machen, ob der BEreich nun größer oder kleiner wird
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
22.02.2005, 15:16 Uhr
Pablo
Supertux
(Operator)


Ok, danke.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: