C言語:構造体と共用体とは?

構造体と共用体は、C言語で複雑なデータを扱うための手段です。これらを使うと、異なる種類のデータをひとつにまとめたり、メモリを効率的に利用したりできます。

目次

構造体(Structures)

構造体は、関連するデータをグループ化して管理するための方法です。たとえば、ある人の情報を管理する場合、名前、年齢、性別などの異なるデータを構造体でまとめることができます。

struct Person {
    char name[50];
    int age;
    char gender;
};

struct Person person1; // 構造体の宣言

上記の例では、Personという構造体を定義し、nameagegenderというメンバー(フィールド)を持つことを示しています。

共用体(Unions)

共用体は、同じメモリ領域を複数の方法で解釈するための仕組みです。共用体は異なる型のメンバーを同じメモリ領域に持ちますが、同時に複数のメンバーを持つことはありません。

union Data {
    int i;
    float f;
    char str[20];
};

union Data data; // 共用体の宣言

この例では、Dataという共用体を定義し、ifstrの3つのメンバーを同じメモリ領域で管理しています。

利用方法と重要性

構造体と共用体は、複雑なデータを扱う際に便利です。構造体は異なるデータを関連付け、まとめて管理できる一方、共用体は同じメモリ領域を複数の方法で解釈できる柔軟性を提供します。これらを上手に使うことで、プログラムの可読性を高め、データ構造を効果的に構築することができます。

目次