C relational und Gleichheitsoperatoren

Die binäre relationalen und Gleichheitsoperatoren vergleichende den ersten Operanden in einem zweiten Operanden, um die Gültigkeit der angegebenen Beziehung zu testen.Das Ergebnis eines relationalen Ausdrucks beträgt 1, wenn die getestete Beziehung True und 0 ist, wenn es auf " False " festgelegt ist.Der Typ des Ergebnisses intist.

Syntax

  • relationaler Begriff:
    SHIFT Ausdruck

    < UMSCHALTTASTEAusdruck des relationalen Ausdrucks

    > UMSCHALTTASTEAusdruck des relationalen Ausdrucks

    <= UMSCHALTTASTEAusdruck des relationalen Ausdrucks

    >= UMSCHALTTASTEAusdruck desrelationalen Ausdrucks

  • EQUALITY Begriff:
    relationaler Ausdruck

    EQUALITYAusdruck == relationaler Ausdruck

    EQUALITYAusdruck != relationaler Ausdruck

Die relationalen und Gleichheitsoperatoren testen die folgenden Beziehungen:

Operator

getestete Beziehung

<

Der erste Operand kleiner als zweiter Operand

>

Der erste Operand größer als zweiter Operand

<=

Der erste Operand kleiner oder gleich dem zweiten Operand

>=

Der erste Operand größer oder gleich dem zweiten Operand

==

Der erste Operand gleich dem zweiten Operand

!=

Der erste Operand ungleich zweiten Operanden

Die ersten vier Operatoren in der Liste einen haben Vorrang vor den Gleichheitsoperatoren (== und !=).Zeigen Sie die Informationen in der Tabelle Rangfolge und Assoziativität von C-OperatorenRangfolgen.

Die Operanden können ganze Zahl, die Schwimmen oder Zeigertyp haben.Die Typen der Operanden unterscheiden können.Relationale Operatoren führen die üblichen arithmetische Konvertierungen in Integral- und Typ float-Operanden aus.Außerdem können Sie die folgenden Kombinationen von Operandentypen mit dem relationalen und den Gleichheitsoperatoren verwenden:

  • Beide Operanden für jeden relationalen oder Gleichheitsoperator können Zeiger auf den gleichen Typ aufweisen.Für die Operatoren der Gleichheit und Ungleichheit (==) (!=) das Ergebnis des Vergleichs gibt an, dass die beiden Zeiger dieselbe Speicheradresse begegnen.Für die anderen relationalen Operatoren (<, >, <= >=) und gibt das Ergebnis des Vergleichs die relative Position der beiden Speicherorte der Objekte an, die angezeigt werden.Relationale Operatoren vergleichen nur Offsets.

    Vergleich von Zeigern wird nur für Teile des gleichen Objekts definiert.Wenn die Zeiger auf Member eines Arrays ist der Vergleich zum Vergleich der entsprechenden von Indizes.Die Adresse des ersten Arrayelements ist „kleiner als“ die Adresse des letzten Elements.Im Fall von Strukturen sind Zeiger auf die Strukturmember deklariert höher „größer als“ Zeiger auf Member, die weiter oben in der Struktur deklariert werden.Zeiger auf Member der Union sind gleich.

  • Ein Zeigerwert kann in den konstanten Wert 0 für Gleichheit (==) oder Ungleichheit (!=) verglichen werden.Ein Zeiger, der einem Wert von 0 wird als „null“ Zeiger bezeichnet. Das heißt, zeigt dieser nicht auf eine gültige Speicheradresse.

  • Die Gleichheitsoperatoren folgen denselben Regeln wie die relationalen Operatoren ermöglichen, jedoch zusätzliche Möglichkeiten: Ein Zeiger kann zu einem konstanten ganzzahligen Ausdruck mit dem Wert 0 oder mit einem Zeiger auf voidverglichen werden.Wenn zwei Zeiger beide NULL-Zeiger handelt, vergleichen sie als gleich.Gleichheitsoperatoren vergleichende Segment und Offset.

Beispiele

Die folgenden Beispiele veranschaulichen relationales und Gleichheitsoperatoren.

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

Da x und y gleich sind, führt der Ausdruck in diesem Beispiel der Wert 0.

char array[10];
char *p;

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

Das Fragment in diesem Beispiel wird jedes Element von array zu einer NULL-Zeichen-Konstante fest.

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

Diese Anweisungen deklarieren eine Enumerationsvariable benannt col mit dem Tag color.Jedes Mal, wenn enthält die Variable einen ganzzahligen Wert von 0, 1 oder 2, die eines der Elemente festgelegt wird colorder Enumeration darstellt: Die Farbe Rot, Grün oder weiß.Wenn col-Wert 0, wenn die If-Anweisung ausgeführt wird, werden alle Anweisungen abhängig von If ausgeführt.

Siehe auch

Referenz

Relationale Operatoren: <, >, <= und >=

Gleichheitsoperatoren: == und! =