構造体
構造体:インデックス への移動
構造体とは、ユーザー定義の名前付きメンバ(すなわち構成要素)集合体を通常表す派生型のことです。メンバはどのような型(基本型または派生型)でもよく(ただし、後で述べるようにいくつか制限があります)、どのような順序で並んでいてもかまいません。そのうえ、構造体のメンバには、他の場所では許されないビット フィールド型を使うこともできます。構造体型により、複雑なデータ構造でも単一の変数とほぼ同様にたやすく処理することができます。構造体の初期化については、ヘルプ トピック「初期化」の「配列、構造体、共用体」のセクションを参照してください。
C++ では、構造体型はクラス型として扱われます(ただし、デフォルトのアクセスは public で基底クラスのデフォルトも public であるなど、若干の違いがあります)。これにより、public(デフォルト)、private、protected という C++ のアクセス指定子を用いて構造体メンバへのアクセス制御を高度化することができます。これらのオプションのアクセス メカニズムと前述の例外は別として、構造体の構文と使用法に関する以下の解説は C と C++ のどちらの構造体にも当てはまります。
構造体は、キーワード struct を用いて宣言します。たとえば、次のように記述します。
struct mystruct { ... }; // mystruct は構造体タグ
.
.
.
struct mystruct s, *ps, arrs[10];
/* s は mystruct 構造体型、ps は mystruct 構造体型へのポインタ、
arrs は mystruct 構造体の配列 */