Я занимаюсь домашним заданием для Computing II. Это создать список задач в динамически создаваемом массиве строк, который можно манипулировать несколькими способами. Один из способов его управления заключается в добавлении задачи или элемента массива с использованием realloc. Мой код выглядит следующим образом и будет работать до тех пор, пока я не вызову новый массив realloc'd в другой функции.Список дел, перераспределение по C
void add_task(char **List, int line_num){
char task[1000];
List = (char**)realloc(List, (line_num+1)*sizeof(char));
List[line_num] = malloc((1000) * sizeof(char));
printf("Please enter the string you would like to use as your new task.\n");
scanf("%s",task);
strcat(task,"\n");
strcpy(List[line_num],task);
return;
}
Отступ вашего кода. – gsamaras
Добавить знак вопроса в ваше сообщение. –
У вас есть вопросы? Я бы рекомендовал вырезать 'task [1000]', вы можете 'scanf()' непосредственно в буфер 'malloc()' ed. Кроме того, я бы вернул новую строку 'line_num', так как вы можете быть уверены, что какой-то вызывающий абонент забудет увеличить свою копию. – EOF