Sdílet prostřednictvím


Operátory rovnosti a relační c

Binární relační a operátory rovnosti porovnat jejich první operand jejich druhým operandem testování platnosti zadaný vztah.Pokud je vztah testované true a 0, pokud je false, je výsledek relační výraz 1.Typ výsledek je int.

Syntaxe

  • relační výraz:
    výraz SHIFT

    relační výraz < výraz SHIFT

    relační výraz > výraz SHIFT

    relační výraz < = výraz shift

    relační výraz > = výraz shift

  • výraz rovnosti:
    relační výraz

    výraz rovnosti == relační výraz

    výraz rovnosti ! = relační výraz

Relační a rovnosti hospodářských test následujících vztahů:

Operátor

Testování vztahů

<

První operand méně než druhý operand.

>

První operand větší než druhý operand.

< =

První operand menší nebo roven druhým operandem

> =

První operand větší než nebo rovna hodnotě druhého operandu

==

První operand roven druhým operandem

!=

První operand není rovno druhým operandem

První čtyři operátory v seznamu výše mají vyšší prioritu než operátory rovnosti (== a !=).Přednost informace v tabulce přednost a asociativita operátorů c operátory.

Operandy mohou mít typ integrál, plovoucí nebo ukazatel.Typy operandy mohou být různé.Relační operátory provádět převody obvyklých aritmetických operandy typu nedílnou a plovoucí.Kromě toho můžete použít následující kombinace typů operand s relačních a operátory rovnosti:

  • Všechny relační operandy nebo operátor rovnosti lze ukazatele na stejného typu.Rovnost (==) a nerovnost (!=) operátory, výsledek porovnávání označuje, zda adresa dva odkazy na stejné místo v paměti.Pro relační operátory (<, >, <=, a >=), výsledek porovnávání označuje relativní pozici dva paměťové adresy objektů označenou.Relační operátory porovnání pouze posuny.

    Porovnání ukazatel je definována pouze pro části stejného objektu.Členy pole odkazují na ukazatele, porovnání je ekvivalentní k porovnání odpovídajících dolních.První prvek pole Adresa je "menší než" adresu poslední prvek.V případě struktur jsou ukazatele členům strukturu deklarovat později "větší než" ukazatele na členy deklarované dříve ve struktuře.Odkazy na členy stejné unie jsou stejné.

  • Hodnota ukazatele lze porovnat konstantní hodnoty 0 pro rovnost (==) nebo nerovnost (!=).Ukazatel s hodnotou 0 se nazývá "null" ukazatele; není, přejděte na umístění v paměti platné.

  • Operátory rovnosti stejným pravidlům jako relační operátory, ale umožnit další možnosti: ukazatel lze porovnat konstantní výraz nedílnou s hodnotou 0 nebo ukazatel na void.Pokud jsou dva ukazatele oba ukazatele s hodnotou null, porovnejte jako rovná.Operátory rovnosti porovnat segmentu a posun.

Příklady

Níže uvedené příklady relační a operátory rovnosti.

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

Protože x a y se rovná výrazu v tomto příkladu dává hodnotu 0.

char array[10];
char *p;

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

Fragment v tomto příkladu nastaví každý prvek array konstantě znakem null.

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

Tyto příkazy deklarovat proměnnou výčet s názvem col s tagem color.Kdykoli, proměnné mohou obsahovat celočíselnou hodnotu 0, 1 nebo 2, což představuje jeden z prvků sadu výčtu color: červená barva, bílé nebo zelené, resp..Pokud col obsahuje 0 při -li příkaz proveden, všechny příkazy v závislosti na -li bude spuštěn.

Viz také

Referenční dokumentace

Relační operátory: <>,, < =, a > =

Operátory rovnosti: == a! =