共用方式為


結構和等位的成員

"選取成員運算式"參考的結構和等位的成員。 這類運算式的值和所選成員的型別。

postfix-expression . identifier
postfix-expression –> identifier

這份清單將告訴您兩種形式的成員選取的運算式:

  1. 在第一個表單中, 後置運算式代表值為struct或等位型別,以及識別項名稱指定的結構或等位的成員。 作業的值,就是識別項 ,如果是 l 值 後置運算式是左值。 請參閱值 (L-VALUE) 和 R-Value 運算式如需詳細資訊。

  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;

在這個範例中,指標運算式item.sp與 [成員選取運算子搭配使用時 (->) 來將值指派給成員a。

list[8].b = 12;

此陳述式示範如何從一個陣列的結構中選取個別的結構成員。

請參閱

參考

成員存取運算子:。 和->