Compartilhar via


C relacional e operadores de igualdade

O binário relacional e operadores de igualdade comparam seu primeiro operando para o segundo operando para testar a validade da relação especificada.O resultado de uma expressão relacional é 1, se a relação de testadas for true e 0 se for falsa.O tipo do resultado é int.

Sintaxe

  • expressão relacional:
    SHIFT-expression.

    expressão relacional < SHIFT-expression.

    expressão relacional > SHIFT-expression.

    expressão relacional < = shift-expression.

    expressão relacional > = shift-expression.

  • expressão de igualdade:
    expressão relacional

    expressão de igualdade = = - expressão relacional

    expressão de igualdade ! = - expressão relacional

Os operadores relacionais e de igualdade testar as relações a seguintes:

Operador

Relacionamento testado

<

O primeiro operando com menos de segundo operando

>

O primeiro operando maior do que o segundo operando

< =

O primeiro operando menor ou igual ao segundo operando

> =

O primeiro operando maior ou igual ao segundo operando

==

O primeiro operando igual ao segundo operando

!=

O primeiro operando não é igual a segundo operando

Os quatro primeiros operadores na lista acima tem precedência maior do que os operadores de igualdade (== e !=).Consulte as informações de precedência na tabela precedência e associatividade de operadores de c.

Os operandos podem ter um tipo integral, flutuante ou ponteiro.Os tipos dos operandos podem ser diferentes.Operadores relacionais realizam conversões aritméticas usuais em operandos do tipo integral e flutuantes.Além disso, você pode usar as seguintes combinações de tipos de operando com o relacionais e operadores de igualdade:

  • Ambos os operandos de qualquer relacional ou operador de igualdade pode ser ponteiros para o mesmo tipo.A igualdade (==) e desigualdade (!=) operadores, o resultado da comparação indica se os dois ponteiros no mesmo local de memória de endereço.Para os operadores relacionais (<, >, <=, e >=), o resultado da comparação indica a posição relativa de dois endereços de memória dos objetos apontados.Operadores relacionais comparam somente deslocamentos.

    Comparação de ponteiro é definida somente para partes do mesmo objeto.Se os ponteiros se referir a membros de uma matriz, a comparação é equivalente a comparação entre os subscritos correspondentes.O endereço do primeiro elemento da matriz é "menor que" o endereço do último elemento.No caso de estruturas, ponteiros na estrutura dos membros declarados posteriormente são "maior que" para membros declarados anteriormente na estrutura.Ponteiros para os membros da união mesmo são iguais.

  • Um valor de ponteiro pode ser comparado com o valor 0 constante de igualdade (==) ou desigualdade (!=).Um ponteiro com o valor 0 é chamado de um ponteiro "nulo"; ou seja, ele não aponta para um local de memória válido.

  • Operadores de igualdade, siga as mesmas regras que os operadores relacionais, mas permitir que outras possibilidades: pode ser comparado a um ponteiro para uma expressão constante de integral com valor 0, ou para um ponteiro para void.Se dois ponteiros são os dois ponteiros nulos, eles comparam como igual.Operadores de igualdade comparam o segmento e o deslocamento.

Exemplos

Os exemplos abaixo ilustram relacionais e operadores de igualdade.

int x = 0, y = 0;
if ( x < y )

Porque x e y são igual, a expressão neste exemplo produz o valor 0.

char array[10];
char *p;

for ( p = array; p < &array[10]; p++ )
    *p = '\0';

O fragmento neste exemplo define a cada elemento da array a uma constante de caractere nulo.

enum color { red, white, green } col;
   .
   .
   .
   if ( col == red )
   .
   .
   .

Essas instruções declarar uma variável de enumeração denominada col com a marca color.A qualquer momento, a variável pode conter um valor inteiro 0, 1 ou 2, que representa um dos elementos do conjunto de enumeração color: o vermelho da cor, branco ou verde, respectivamente.Se col contenha 0 quando o se declaração é executada, quaisquer declarações de acordo com o se será executado.

Consulte também

Referência

Operadores relacionais: <>,, < =, e > =

Operadores de igualdade: = = e! =