Compartir a través de


C Relational y operadores de Igualdad

Los operadores relacionales y de igualdad binarios comparan el primer operando al segundo operando para probar la validez de la relación especificada.El resultado de una expresión relacional es 1 si la relación probada es true y 0 si es falsa.El tipo del resultado es int.

Sintaxis

  • expresión relacional:
    MAYÚS-expresión

    MAYÚS-expresión de**<** de expresión relacional

    MAYÚS-expresión de**>** de expresión relacional

    MAYÚS-expresión de**<=** de expresión relacional

    MAYÚS-expresiónde**>=** de expresión relacional

  • igualdad-expresión:
    expresión relacional

    expresión relacional de == de la igualdad-expresión

    expresión relacional de**! =** de la igualdad-expresión

Los operadores relacionales y de igualdad prueban las relaciones siguientes:

Operador

relación probada

<

Primer operando menor que el segundo operando

>

primer operando mayor que el segundo operando

<=

Primer operando es menor o igual que segundo operando

>=

Primer operando mayor o igual que el segundo operando

==

Primer operando igual al segundo operando

!=

Primer operando no es igual al segundo operando

Los cuatro primeros operadores en la lista anterior tienen mayor prioridad que los operadores de igualdad (== y !=).Vea información de prioridad de la tabla Prioridad y Asociatividad de los operadores de C.

Los operandos pueden tener entero, la flotante, o tipo de puntero.los tipos de los operandos pueden ser diferentes.Los operadores relacionales realizan conversiones aritméticas usuales en operandos tipos enteros y de punto flotante.Además, puede utilizar las combinaciones de tipos siguientes de operando con los operadores relacionales y de igualdad:

  • Ambos operandos de cualquier operador relacional o de igualdad puede ser punteros al mismo tipo.Para los operadores de igualdad (==) y desigualdad (!=), el resultado de la comparación indica si los dos punteros dirigen la misma ubicación de memoria.Para los otros operadores relacionales (<, >, <=, y >=), el resultado de la comparación indica la posición relativa de las dos direcciones de memoria de objetos designados en.Los operadores relacionales comparan sólo desplazamientos.

    La comparación de puntero se define únicamente para las partes del mismo objeto.Si los punteros hacen referencia a los miembros de una matriz, la comparación es equivalente a la comparación de subíndices correspondientes.La dirección del primer elemento de la matriz es “menor que” la dirección del último elemento.En el caso de las estructuras, los punteros a miembros de estructura declarados más adelante son “mayor que” punteros a miembros declarados anteriores en la estructura.Los punteros a miembros de la misma combinación son iguales.

  • Un valor de puntero se puede comparar el valor constante 0 para la igualdad (==) o desigualdad (!=).Un puntero a un valor de 0 se denomina un puntero “NULL”; es decir, no señala a una ubicación de memoria válida.

  • los operadores de igualdad siguen las mismas reglas que los operadores relacionales, pero permiten posibilidades adicionales: un puntero se puede comparar con la expresión completa constante con el valor 0, o un puntero a void.Si dos punteros son ambos punteros nulos, se consideran iguales.Los operadores de igualdad compara el segmento y el desplazamiento.

Ejemplos

Los ejemplos siguientes muestran los operadores relacionales y de igualdad.

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

Dado que x y y son iguales, la expresión de este ejemplo hace que el valor 0.

char array[10];
char *p;

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

El fragmento de este ejemplo establece cada elemento de array a una constante de carácter nulo.

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

Estas instrucciones declare una variable de enumeración denominada col con la etiqueta color.En cualquier momento, la variable puede contener un valor entero de 0, 1, 2, que representa uno de los elementos de la enumeración colordeterminado: el color rojo, blanco, o verde, respectivamente.Si col contiene 0 cuando se ejecuta la instrucción de If [SQL2008] , cualquier instrucción dependiendo de If [SQL2008] se ejecutará.

Vea también

Referencia

Operadores relacionales: <, >, <=, y >=

Operadores de igualdad: ¡== y! =