0

我遇到了指针问题。我已经阅读了 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");
}

在我的 resize 函数执行后,myList 无法获取新指针。我究竟做错了什么?

4

1 回答 1

3

你做

myList[0] = ...

但是myList是一个双指针,所以它应该是

(*myList)[0] = ...

此外,您尝试将多字符文字分配给结构。

于 2013-11-14T09:52:37.137 回答