Ich möchte Array von Zeichenfolgen dynamisch zuweisen, aber ich bin mir nicht sicher, wie ich das tun kann. Also dachte ich darüber nach, eine Struktur zu erstellen und diese Struktur dynamisch zuzuordnen. Also habe ich den Code unten gemacht, aber dieser Code erzeugt Assertionsfehler.Dynamisch Zuordnung Array von Zeichenfolgen
#include <stdio.h>
#include <stdlib.h>
typedef struct {
char str1[20];
char str2[20];
} String;
int main(void)
{
String * list;
list = (String *)malloc(sizeof(String));
int i = 1;
for (; i < 6; i++) {
realloc(list, i * sizeof(String));
printf("Input String 1: ");
scanf("%s", list[i - 1].str1);
printf("Input String 2: ");
scanf("%s", list[i - 1].str2);
}
for (i = 0; i < 5; i++)
printf("%s\t%s\n", list[i].str1, list[i].str2);
free(list);
}
Was ich falsch gemacht haben und wie kann ich dieses Problem beheben?
Dank :)
Sie werfen das Ergebnis von 'Realloc' weg. – BLUEPIXY