Hallo,
ich muss innerhalb einer Funktion mehrere Arrays an die benötigte Größe anpassen. Allerdings stehen in dem bereits zu verfügung stehen array schon daten die ich weiter benutzten will. Wenn ich mit realloc es dann vergrößere wird offenbar der Inhalt nicht mitgenommen ?
Wie bekomme ich das hin ? Hier ein Beispiel: (in C)
Ich möchte das jetzt die Zahlen 0-10 ausgeben werden. 5-10 funktioniert natürlich aber 0-4 nicht.
gruß
ich muss innerhalb einer Funktion mehrere Arrays an die benötigte Größe anpassen. Allerdings stehen in dem bereits zu verfügung stehen array schon daten die ich weiter benutzten will. Wenn ich mit realloc es dann vergrößere wird offenbar der Inhalt nicht mitgenommen ?
Wie bekomme ich das hin ? Hier ein Beispiel: (in C)
Code:
void main()
{
double *f;
int size = 5,i;
f = static_cast<double*>(malloc(size * sizeof(double)));
for(i = 0;i<=10;i++)
{
if(i >= size)
{
size = size + 5;
f = static_cast<double*>(realloc(f,size));
if(f == NULL)
{
printf("nicht genuegend speicher");
exit(1);
}
}
f[i] = static_cast<double>(i);
}
for(i = 0;i<=10;i++)
{
printf("%.2lf\n",f[i]);
}
}
Ich möchte das jetzt die Zahlen 0-10 ausgeben werden. 5-10 funktioniert natürlich aber 0-4 nicht.
gruß
Zuletzt bearbeitet: