Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

C言語における構造体の配列とは?宣言方法と実例コードで解説

構造体の配列とは

C言語において、構造体(struct)が最もよく使われる形の一つが「構造体の配列」です。構造体は異なる型のデータをまとめて扱える便利な機能ですが、複数のデータ(例えば複数名分の学生情報など)を管理したい場合には、構造体を配列として定義すると非常に効率的です。

構造体の配列を宣言するには、まず構造体そのものを定義し、その後その型を持つ配列変数を宣言します。

例えば、以下のように書きます。

struct book b[10]; // 'book' 型の構造体配列に10個の要素を確保

サンプルプログラム

次に、3名の学生の情報(学籍番号・名前・点数)を受け取り、それを出力するCプログラムを紹介します。このプログラムでは、構造体の配列を使用しています。

#include <stdio.h>
#include <string.h>
struct student{
    int id;
    char name[30];
    float percentage;
};
int main(){
    int i;
    struct student record[2];
    // 1人目の学生のレコード
    record[0].id=1;
    strcpy(record[0].name, "Bhanu");
    record[0].percentage = 86.5;
    // 2人目の学生のレコード
    record[1].id=2;
    strcpy(record[1].name, "Priya");
    record[1].percentage = 90.5;
    // 3人目の学生のレコード
    record[2].id=3;
    strcpy(record[2].name, "Hari");
    record[2].percentage = 81.5;
    for(i=0; i<3; i++){
        printf(" Records of STUDENT : %d \n", i+1);
        printf(" Id is: %d \n", record[i].id);
        printf(" Name is: %s \n", record[i].name);
        printf(" Percentage is: %f\n\n",record[i].percentage);
    }
    return 0;
}

実行結果

上記のプログラムを実行すると、次のような出力が得られます。

Records of STUDENT : 1
Id is: 1
Name is: Bhanu
Percentage is: 86.500000
Records of STUDENT : 2
Id is: 2
Name is: Priya
Percentage is: 90.500000
Records of STUDENT : 3
Id is: 3
Name is: Hari
Percentage is: 81.500000

ポイント解説

  • メンバへのアクセス: 配列の各要素のメンバには、「配列名[添字].メンバ名」の形式でアクセスします(例:record[0].id)。
  • 文字列の代入: char型配列に文字列を代入する際は、strcpy関数を使う必要があります。「=」による直接代入はできません。
  • ループ処理との相性: 構造体の配列はfor文などの繰り返し処理と組み合わせることで、大量のデータを簡潔に操作できます。

このように構造体の配列を使えば、同一形式のデータをまとめて管理でき、実務的なプログラム(成績管理、在庫管理、顧客リストなど)で幅広く活用できます。

  1. C#の配列(Array)とは?宣言方法と基本的な使い方を解説

    配列(Array)とは、同じ型の要素を固定サイズで連続的に格納できるデータ構造です。複数のデータをまとめて管理したいときに使われますが、より正確には「連続したメモリ領域上に並べて格納された、同じ型の変数の集合」と考えるとイメージしやすくなります。C#における配列の宣言方法C#で配列を宣言するには、以下の構文を使用します。datatype[] arrayName;それぞれの要素の意味は次のとおりです。datatype:配列に格納する要素の型(int、stringなど)を指定します。[ ]:配列のランク(次元数)を指定します。ここで配列の大きさが決まります。arrayName:配列の名前を指定しま

  2. C#のArrayクラスとは?主なプロパティと使い方をわかりやすく解説

    C#のArrayクラスとは Arrayクラスは、C#におけるすべての配列の基底クラス(基本クラス)です。このクラスはSystem名前空間で定義されており、配列を操作するためのさまざまなプロパティやメソッドが用意されています。 通常、C#で配列を作成すると、その配列は暗黙的にこのArrayクラスから派生しているため、Lengthなどの便利な機能をすぐに利用できます。 Arrayクラスの主なプロパティ一覧 以下の表は、Arrayクラスで特によく使用される代表的なプロパティをまとめたものです。 番号 プロパティと説明 1 IsFixedSize 配列が固定サイズであるかどうかを示す値を取得