Ich habe eine Frage... nehmen wir an, ich habe den folgenden Codeabschnitt :
int *a, *a1, *a2;
for (i=1; i<=2; i++) {
a=malloc(sizeof(int));
if (i==1) a1=a;
else if (i==2) a2=a;
}
*a1=5;
*a2=4;
also meine Frage ist wenn ich printf benutze, um a1 und a2 auszugeben, wird die Variable a1 den Wert 5 und a2 den Wert 4 haben? also, wenn ich malloc benutze, um Speicherplatz zuzuweisen und a auf diesen Speicherplatz verweist und dann erneut malloc benutze, um Speicherplatz zuzuweisen, zeigt a auf einen anderen Speicherbereich, aber der erste Speicherbereich existiert immer noch? oder wenn ich malloc mit a erneut benutze, wird der erste Speicherbereich gelöscht und es wird ein neuer Speicherbereich geschrieben