Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Uma "expressão de seleção de membros" refere-se aos membros de estruturas e sindicatos. Tal expressão tem o valor e o tipo do membro selecionado.
postfix-expression.identifier
postfix-expression->identifier
Esta lista descreve as duas formas das expressões de seleção de membros:
No primeiro formulário,
postfix-expressionrepresenta um valor ouuniontipo estructidentifiernomeia um membro da estrutura ou união especificada. O valor da operação é o deidentifiere é um valor l sepostfix-expressionfor um valor l. Para obter mais informações, consulte Expressões de valor L e valor R.No segundo formulário,
postfix-expressionrepresenta um ponteiro para uma estrutura ou união eidentifiernomeia um membro da estrutura ou união especificada. O valor é o deidentifiere é um valor l.
As duas formas de expressões de seleção de membros têm efeitos semelhantes.
Na verdade, uma expressão envolvendo o operador de seleção de membros (->) é uma versão abreviada de uma expressão usando o ponto (.) se a expressão antes do período consiste no operador indirection (*) aplicado a um valor de ponteiro. Por conseguinte,
expression->identifier
é equivalente a
(*expression).identifier
quando expression é um valor de ponteiro.
Exemplos
Os exemplos a seguir referem-se a essa declaração de estrutura. Para obter informações sobre o operador indirection (*) usado nesses exemplos, consulte Indirection e Address-of Operators.
struct pair
{
int a;
int b;
struct pair *sp;
} item, list[10];
Uma expressão de seleção de membros para a estrutura tem esta item aparência:
item.sp = &item;
No exemplo, o endereço da item estrutura é atribuído ao sp membro da estrutura. Isso significa que item contém um ponteiro para si mesmo.
(item.sp)->a = 24;
Neste exemplo, a expressão item.sp de ponteiro é usada com o operador de seleção de membros (->) para atribuir um valor ao membro a.
list[8].b = 12;
Esta instrução mostra como selecionar um membro da estrutura individual a partir de uma matriz de estruturas.