Sdílet prostřednictvím


Členové struktury a sjednocení

"Výraz výběru členů" odkazuje na členy struktury a sjednocení.Takový výraz má hodnotu a typ vybraného členu.

postfix-expression . identifier 
postfix-expression –> identifier

Seznam popisuje dva typy výrazů výběru členů:

  1. V prvním typu představuje výraz přípony hodnotu struct nebo typ union a identifikátor pojmenovává člen určené struktury nebo sjednocení.Hodnotou operace nabývá hodnoty identifikátoru a l hodnotou, je-li l hodnota výraz přípony.Další informace naleznete v tématu Výraz hodnot L a R.

  2. Druhý typ výrazu přípony představuje ukazatel na strukturu nebo sjednocení a identifikátor pojmenovává člen určené struktury nebo sjednocení.Hodnota je identifikátor a je to l hodnota.

Oba typy výběru členů výrazů mají podobné funkce.

Ve skutečnosti je výraz zahrnující operátor výběru členů (–>) zkrácená verze výrazu používajícího tečku (.), skládá-li se výraz před tečkou z operátoru dereference (*) použitého na hodnotu ukazatele.Z toho plyne,

expression –> identifier

je ekvivalentem k

(*expression) . identifier

je-li výraz hodnota ukazatele.

Příklady

Následující příklady odkazují na tuto deklaraci struktury.Informace o operátoru dereference (*), který se používá v těchto příkladech, naleznete v tématu Dereference a operátory z adresy.

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

Výraz výběr členů struktury item vypadá takto:

item.sp = &item;

V příkladu uvedeném výše je adresa struktury item přiřazena členu struktury sp.To znamená, že item obsahuje odkaz sám na sebe.

(item.sp)–>a = 24;

V tomto příkladu se výraz ukazatele item.sp používá spolu s operátorem výběru členů (–>) pro přiřazení hodnoty pro člen a.

list[8].b = 12;

Tento příkaz ukazuje, jak vybrat jednotlivý člen struktury z pole struktur.

Viz také

Referenční dokumentace

Operátory přístupu členů: . a ->