I-14-5. 構造体の概念と構造体を使用したプログラミング

構造体の概要、定義と使い方を解説し、変数や配列などデータをまとめて扱う方法について説明する。また構造体を配列で利用する方法、構造体メンバへのポインタによるアクセス、関数への構造体データの受け渡し方法など、実際にプログラムで構造体を利用する際に必要となる技術を解説する。

【学習の要点】

* 構造体とは、複数のデータ型をひとまとめに扱えるようにしたものである。

* 構造体は配列とは違い、柔軟性に富んだデータの扱いができる。

図I-14-5. 構造体の定義

【解説】

1) 構造体とその定義

構造体とは、異なるデータ型をグループとして扱うために用いる機能である。同じデータ型をグループとして用いる配列とは違い、柔軟性に富んだデータの扱いができる。

構造体を定義するためには、以下のような文法を用いる。

struct 構造体名 {

フィールドのデータ型 フィールドの名前;

フィールドのデータ型 フィールドの名前;

......

};

フィールドとは、構造体を構成する要素のこと。構造体では、フィールドをそれぞれ違うデータ型にできる。

2) 構造体の使い方

構造体の各フィールドにアクセスするには、次のような構文を利用する。

変数名.フィールド名

3) 構造体と配列

構造体は配列にしても用いることができる。配列として用いる場合の宣言方法と、メンバへのアクセス方法は下記のようにする。

* 宣言例

struct elem{

int f1;

int f2;

};

struct elem a[10];

* アクセス例

a[0].f1 = 0;

4) 構造体のポインタ

ポインタを用いて構造体のフィールドにアクセスするには、演算子「 -> 」を利用する。

変数名->フィールド名

OSS Course Naviのコンテンツは IPA OSS モデルカリキュラムを基としています。