• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:基本的な領域確保の仕方について)

基本的な領域確保の仕方について

このQ&Aのポイント
  • 配列扱いにするための基本的な領域確保の方法について説明します。
  • 複雑な構造体を扱う際に、配列扱いにする方法について説明します。
  • ポインタ宣言されている構造体を配列に設定する方法について説明します。

質問者が選んだベストアンサー

  • ベストアンサー
  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

領域の確保には malloc() を使う、ってことは OK でしょうか? ccc の e、ggg の h、hhh の i をそれぞれ 10 個取るとしましょう。 sting さんは、分かっているようですが、入れ物を先に確保して、それから その内容を確保するを繰返すだけです。 ccc の e を確保して、ggg の h を確保するのは、以下のような感じ。 #define MAX_SIZE 10 int i; A a; a.c.e = malloc(sizeof(eee) * MAX_SIZE); for (i = 0 ; i < MAX_SIZE ; ++i) {   a.c.e[i].g.h = malloc(sizeof(hhh) * MAX_SIZE); } 分かります? 更に、hhh の i を確保するのは、これの繰返しになります。 a.c.e = malloc(sizeof(eee) * MAX_SIZE); for (i = 0 ; i < MAX_SIZE ; ++i) {   a.c.e[i].g.h = malloc(sizeof(hhh) * MAX_SIZE);   for (j = 0 ; j < MAX_SIZE ; ++j) {     a.c.e[i].g.h[j].i = malloc(sizeof(char) * MAX_SIZE);   } }

関連するQ&A

専門家に質問してみよう