3

以下が機能するかどうかを知りたかっただけです。foo次のように定義されている構造体があります。

struct foo {
    char name[255];
    int amount;
};

実行時に、サイズがファイルの入力から受け取る値に依存する上記の構造体の配列を作成する必要があります。このサイズを としましょうk。次のコードは、動的にサイズ変更された構造体の配列を適切に割り当てますか?

struct foo *fooarray;
fooarray = malloc(k * sizeof(struct foo));

編集:これらの配列内の構造体のメンバーにアクセスしたい場合、フォーマットを使用しますfooarray[someindex].memberか?

4

3 に答える 3

-1

このアプローチでは、もう 1 つの異なる表記法を使用できます。

struct foo {
    char name[255];
    int amount;
};

int main (void)
{
 struct foo *fooarray;
 struct foo *fooptr[5];

 unsigned int i = 0;

 for (i = 0;  i < 5; i++)
  fooptr[i] = malloc(1* sizeof(struct foo));

 fooptr[2]->name[3] = 'A';
 printf ("\nfooptr[2]->name[3]=%c\n",fooptr[2]->name[3]);
}
于 2014-07-02T06:38:40.583 に答える