realloc ohne malloc
-
Hallo, ich wollte mal fragen, kann ich realloc auf ein normales nicht
mit malloc alloziertes array anwenden ?also praktisch:
char test[10]; test = (char*)realloc(test,strlen(test) + strlen(10/*oder wieviel auch immer*/)+1);
geht das ?
-
Nein.
-
doch, wenn es richtig gemacht wird
#define MAX 128
char *line;
int len = 0;
while(MAX >len) if(!(line = (char *)malloc(++len))) exit(1);
....NOTA: moderne Malloc benuetzen weder Calloc noch Realloc
-
soll das ein Witz sein?
-
kein witz, man pages lesen, ausprobieren !
-
Kannst du mal ganz kurz beschreiben, was das machen soll, ausser massenweise Speicherlecks zu erzeugen? Bzw. zu trollen?
-
sorry, klein lapsus.
ich meinte RE und nicht M-alloc.... if(!(line = (char *)realloc(line,++xxx))) exit(1);
-
Das funktioniert nur, wenn line mit 0 initialisiert ist. Und dann vergrößerst du damit immer noch kein nicht-malloc Array, wie es der Fragesteller gerne gehabt hätte (was aber nicht geht).