1 | ptest=realloc(ptest,50);
|
Das sollte man übrigens nicht so machen. Kann nämlich realloc die
Speicheranforderung nicht erfüllen, gibt es einen NULL-Pointer zurück,
der ursprüngliche Speicher aber bleibt gültig:
1 | If the function fails to allocate the requested block of memory,
|
2 | a null pointer is returned, and the memory block pointed to by
|
3 | argument ptr is not deallocated (it is still valid, and with its
|
4 | contents unchanged).
|
Wenn aber der auf diesen Speicher zeigende Pointer mit dem Rückgabewert
von realloc überschrieben wird, ist der Speicher weg, sprich:
verwaist.
Also: Den Rückgabewert von realloc nie dem Pointer zuweisen, der
realloc übergeben wird.