Atribuição Simples

Uma expressão de atribuição simples calcula o valor do operando à direita e o armazena no lvalue à esquerda. Aqui está uma expressão de atribuição simples que armazena 5 em i:

i = 5

Dizemos que isso é uma atribuição para a variável i e que atribui a i o valor 5. Não tem ponto e vírgula porque é uma expressão (portanto, tem um valor). Adicionar um ponto e vírgula no final a tornaria uma instrução (veja Instrução de Expressão).

Aqui está outro exemplo de uma expressão de atribuição simples. Seus operandos não são simples, mas o tipo de atribuição feita aqui é uma atribuição simples.

x[foo ()] = y + 6

Uma atribuição simples com dois tipos de dados numéricos diferentes converte o valor do operando à direita para o tipo do lvalue, se possível. Ela pode converter qualquer tipo numérico para qualquer outro tipo numérico.

A atribuição simples também é permitida em alguns tipos não numéricos: ponteiros (veja Ponteiros), estruturas (veja Atribuição de Structs) e uniões (veja Uniões).

Aviso: A atribuição não é permitida em arrays porque em C não existem valores de array; variáveis em C podem ser arrays, mas esses arrays não podem ser manipulados como um todo. Veja Limitações de Arrays em C.

Veja Conversões de Tipos em Atribuições para as regras completas sobre tipos de dados usados em atribuições.

Atualizado

Isto foi útil?