我想動態地分配字符串數組,但我不知道我該如何做到這一點。所以我想構建一個結構並動態分配這個結構。所以我做了下面的代碼,但是這段代碼創建斷言失敗。動態分配字符串數組
#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);
}
我做了什麼錯,我該如何解決這個問題?
謝謝:)
你扔掉'realloc'的結果。 – BLUEPIXY