C - Создание подфункции для перераспределения размера массива

У меня проблема с указателями. Я прочитал более 30 сообщений на эту тему, и ни одна из них не соответствует моим настройкам. Вот что я пытаюсь сделать:

void doSomething(myStruct **myList)
{
    resizeMyList(myList,5);

    myList[0] = '42';
    myList[1] = '43'; // ERRORS OUT OF MEMORY
}

void resizeMyList(myStruct **theArray,int size)
{
    myStruct *new_ptr = realloc(*theArray,(size * sizeof myStruct));

    if(new_ptr)
         *theArray = new_ptr;
    else
         printf("died");
}

После выполнения моей функции изменения размера myList не может получить новый указатель. Что я делаю неправильно?

1 ответ

Решение

Ты сделаешь

myList[0] = ...

но myList это двойной указатель, поэтому он должен быть

(*myList)[0] = ...

Кроме того, вы пытаетесь назначить многосимвольные литералы для структуры.

Другие вопросы по тегам