Udostępnij za pośrednictwem


Elementy członkowskie struktury i złożenia

„Wyrażenie wyboru elementu członkowskiego” dotyczy elementów członkowskich struktur i unii. Takie wyrażenie ma wartość i typ wybranego elementu członkowskiego.

postfix-expression . identifier
postfix-expression -> identifier

Poniższa lista opisuje dwie formy wyrażeń wyboru elementów członkowskich:

  1. W pierwszym formularzu postfix-expression reprezentuje wartość struct lub union typ i identifier nazywa element członkowski określonej struktury lub unii. Wartość operacji to wartość identifier i jest wartością l, jeśli postfix-expression jest wartością l.. Aby uzyskać więcej informacji, zobacz Wyrażenia L-Value i R-Value.

  2. W drugim formularzu postfix-expression reprezentuje wskaźnik do struktury lub unii i identifier nazywa element członkowski określonej struktury lub unii. Wartość jest wartością typu identifier i jest wartością l..

Obie formy wyrażeń wyboru elementów członkowskich mają podobne skutki.

W rzeczywistości wyrażenie obejmujące operator wyboru składowego (->) jest skróconą wersją wyrażenia przy użyciu kropki (), jeśli wyrażenie przed okresem składa się z operatora pośredniego (.*) zastosowanego do wartości wskaźnika. Zatem

expression->identifier

jest równoważny

(*expression).identifier

gdy expression jest wartością wskaźnika.

Przykłady

Następujące przykłady dotyczą niniejszej deklaracji struktury. Aby uzyskać informacje na temat operatora pośredniego (*) używanego w tych przykładach, zobacz Indirection and Address-of Operators (Operatory pośrednie i adresowe).

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

Wyrażenie wyboru elementów członkowskich dla struktury item wygląda następująco:

item.sp = &item;

W tym przykładzie adres item struktury jest przypisywany do sp elementu członkowskiego struktury. Oznacza to, że item zawiera wskaźnik do samego siebie.

(item.sp)->a = 24;

W tym przykładzie wyrażenie item.sp wskaźnika jest używane z operatorem wyboru składowego (->) w celu przypisania wartości do elementu członkowskiego a.

list[8].b = 12;

Ta instrukcja pokazuje, jak wybrać dany element członkowski struktury z tablicy struktur.

Zobacz też

Operatorzy dostępu do składowych: . i->