Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ein "Mitgliedsauswahlausdruck" bezieht sich auf Mitglieder von Strukturen und Gewerkschaften. Ein solcher Ausdruck weist den Wert und typ des ausgewählten Elements auf.
postfix-expression.identifier
postfix-expression->identifier
In dieser Liste werden die beiden Formen der Memberauswahlausdrücke beschrieben:
Stellt im ersten Formular
postfix-expressioneinen Wert oderstructunionTyp dar undidentifierbenennt ein Element der angegebenen Struktur oder Vereinigung. Der Wert des Vorgangs ist der wert undidentifierist ein l-Wert, wennpostfix-expressiones sich um einen l-Wert handelt. Weitere Informationen finden Sie unter L-Value- und R-Value-Ausdrücke.Stellt im zweiten Formular
postfix-expressioneinen Zeiger auf eine Struktur oder Vereinigung dar undidentifierbenennt ein Mitglied der angegebenen Struktur oder Vereinigung. Der Wert ist der wert undidentifierist ein l-Wert.
Die beiden Formen von Memberauswahlausdrücken haben ähnliche Effekte.
Tatsächlich ist ein Ausdruck mit dem Memberauswahloperator (->) eine Kurzversion eines Ausdrucks, der den Punkt (.) verwendet, wenn der Ausdruck vor dem Punkt aus dem Dereferenzierungsoperator (*) besteht, der auf einen Zeigerwert angewendet wird. Daher eignet sich
expression->identifier
entspricht
(*expression).identifier
ist expression ein Zeigerwert.
Beispiele
Die folgenden Beispiele beziehen sich auf diese Strukturdeklaration. Informationen zum in diesen Beispielen verwendeten Dereferenzierungsoperator (*) finden Sie unter "Dereferenzierung" und "Address-of-Operator".
struct pair
{
int a;
int b;
struct pair *sp;
} item, list[10];
Ein Elementauswahlausdruck für die item Struktur sieht wie folgt aus:
item.sp = &item;
Im Beispiel wird die Adresse der item Struktur dem sp Element der Struktur zugewiesen. Dies bedeutet, dass item ein Zeiger auf sich selbst enthalten ist.
(item.sp)->a = 24;
In diesem Beispiel wird der Zeigerausdruck item.sp mit dem Memberauswahloperator (->) verwendet, um dem Element aeinen Wert zuzuweisen.
list[8].b = 12;
Diese Anweisung zeigt, wie Sie ein einzelnes Strukturelement aus einem Array von Strukturen auswählen.