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");
}

サイズ変更関数が実行された後、myList は新しいポインターを取得できません。私は何を間違っていますか?

4

1 に答える 1

3

あなたがやる

myList[0] = ...

しかしmyList、ダブルポインターであるため、そうする必要があります

(*myList)[0] = ...

また、複数文字のリテラルを構造体に代入しようとします。

于 2013-11-14T09:52:37.137 に答える