我遇到指针问题。我已经阅读了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无法获取新指针。我做错了什么?
答案 0 :(得分:3)
你做
myList[0] = ...
但是myList
是一个双指针,所以它应该是
(*myList)[0] = ...
另外,您尝试将多字符文字分配给结构。