C言語の構造体配列ポインタの使い方は?
C言語の構造体配列ポインタを使用する場合、次の手順に従う必要があります。
- 例えば、必要なフィールドを含む構造体型を定義します。学生の名前と年齢を含む学生構造体を定義したい場合、どのようにすればよいのか考えてみましょう。
struct Student {
char name[50];
int age;
};
- 例えば、学生の構造体配列を指すポインタ変数を宣言します。
struct Student *ptr;
- 構造体配列にメモリ空間を割り当て、そのメモリ空間を指すポインタを作成します。メモリを動的に割り当てるためにmalloc関数を使用できます。例えば、10人の学生の構造体に対してmalloc関数を使用してメモリを割り当て、そのポインタを作成します。
ptr = (struct Student*) malloc(10 * sizeof(struct Student));
- 構造体配列要素にポインタを使用する。例えば、最初の学生の名前と年齢にアクセスするには、ポインタを使用できます。
strcpy(ptr[0].name, "John");
ptr[0].age = 20;
- 最後に、構造体配列ポインターを使用しなくなったら、メモリーを解放することを忘れず、メモリー漏洩を防止してください。メモリーを解放するためには、free関数を使用できます。例:
free(ptr);
まとめると、C言語の構造体配列ポインタを使用するには、構造体の型を定義し、構造体配列ポインタ変数を宣言し、メモリ領域を割り当ててそのメモリ領域を指し示し、ポインタを使用して構造体配列の要素にアクセスし、使用が終わった後にメモリ領域を解放する必要があります。