次の方法で共有


構造体や共用

「メンバー」は選択構造体や共用体のメンバーを示します。このような式に選択されたメンバーの値と型があります。

postfix-expression . identifier
postfix-expression –> identifier

このリストはメンバー選択の式の 2 とおりの形式を記述します :

  1. 最初の形式では 後置式は struct または 共用体 の型と 識別子名 の値は指定された構造体または共用体のメンバーとして表します。操作の値は 後置式は 左辺値で 識別子 ので左辺値です。詳細については左辺値と値の式 R を参照してください。

  2. 2 番目の形式は 後置式 構造体または共用体へのポインターと 識別子名を 指定された構造体または共用体のメンバーとして表します。 識別子 の値はで左辺値です。

メンバー選択した式の 2 とおりの形式も同様の効果があります。

実際にはメンバー選択演算子 () – > を含む式はピリオド () を使用してピリオドの前の式がポインター値に適用される間接演算子 ()* で構成されている場合は式の省略形のバージョンです。次に例を示します。

expression –> identifier

上記のコードは、次のコードと同じです。

(*expression) . identifier

式が ポインター値になります。

次の例ではこの構造体を宣言しています。これらの例で使用される間接演算子 ()* についてはアドレス演算子を間接 を参照してください。

struct pair 
{
    int a;
    int b;
    struct pair *sp;
} item, list[10];

item の構造体のメンバー選択の式は次のようになります。:

item.sp = &item;

上の例ではitem の構造体のアドレスは構造体の sp のメンバーに割り当てます。これは item がそれ自体へのポインターを含むことを意味します。

(item.sp)–>a = 24;

この例では a メンバーに値を割り当てるにはメンバー選択演算子 () と – > ポインター式 item.sp が使用されます。

list[8].b = 12;

このステートメントは構造体の配列から個々の構造体メンバーを選択する方法を示しています。

参照

関連項目

メンバー アクセス演算子: 。 (および) >