Elementy członkowskie struktury i złożenia
Wyrażenie"wyboru elementu członkowskiego" odnosi się do elementów członkowskich struktur i zbiorów.Takie wyrażenie ma wartość i typ wybranego elementu członkowskiego.
postfix-expression . identifier
postfix-expression –> identifier
Poniższa lista opisuje dwie formy wyrażenia wyboru elementów członkowskich:
W pierwszej formie postfix-expression reprezentuje wartość struct lub typów union i nazwy identifier elementów członkowskich określonej struktury lub zbioru.Wartością operacji jest wartość identifier i jest wartością l, jeśli postfix-expression jest wartością l.Zobacz Wyrażenia wartości l i wartości r, aby uzyskać więcej informacji.
W drugiej formie postfix-expression reprezentuje wskaźnik do struktury lub zbioru i nazwy identifier elementów członkowskich określonej struktury lub zbioru.Wartością jest wartość identifier i jest wartością l.
Obie formy wyrażenia wyboru elementów członkowskich mają podobne skutki.
W rzeczywistości, wyrażenie obejmujące operator wyboru elementów członkowskich (–>) jest wersją skróconą wyrażenia używającego kropki (.) jeśli wyrażenie przed kropką składa się z operatora pośredniego (*) stosowanego do wartości wskaźnika.Dlatego,
expression –> identifier
jest równoważne z
(*expression) . identifier
gdy expression jest wartością wskaźnika.
Przykłady
Następujące przykłady odnoszą się do niniejszej deklaracji struktury.Aby uzyskać informacje dotyczące operatora pośredniego (*) używanego w tych przykładach, zobacz Operatory pośredni i adresu.
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 przykładzie powyżej, adres struktury item jest przypisywany do elementy członkowskiego sp struktury.Oznacza to, że item zawiera wskaźnik do samego siebie.
(item.sp)–>a = 24;
W tym przykładzie wyrażenie wskaźnika item.sp jest używane z operatorem wyboru elementów członkowskich (–>) do przypisania wartości do elementu członkowskiego a.
list[8].b = 12;
Ta instrukcja pokazuje, jak wybrać poszczególny element członkowski struktury z tablicy struktur.