C relacyjnych i operatory równości
Binarny relacyjnych i równości operatory porównania ich pierwszego operandu do ich drugi operand, aby sprawdzić ważność określonej relacji.Wynik wyrażenia relacyjnej jest 1, jeśli relacja badane jest true i 0, jeśli ma wartość false.Typ wyniku jest int.
Składnia
relacyjne wyrażenie:
SHIFT wyrażenierelacyjne wyrażenie <</c4> SHIFT wyrażenie
relacyjne wyrażenie > SHIFT wyrażenie
relacyjne wyrażenie < = wyrażenie shift
relacyjne wyrażenie > = wyrażenie shift
wyrażenie równości:
wyrażenie relacyjnewyrażenie równości == wyrażenie relacyjne
wyrażenie równości ! = wyrażenie relacyjne
Operatory relacyjne i równości Testuj relacje następujące:
Operator |
Badane relacji |
---|---|
< |
Pierwszy operand mniej niż drugi operand |
> |
Pierwszy operand jest większa niż drugi operand |
< = |
Pierwszy operand mniejsza niż lub równa drugi operand |
> = |
Pierwszy operand większe niż lub równe drugi operand |
== |
Pierwszy argument równa drugi operand |
!= |
Pierwszy operand nie równa się drugi operand |
Pierwsze cztery operatorów na powyższej liście mają wyższy priorytet niż operatory równości (== i !=).Zobacz informacje o pierwszeństwo w tabeli priorytet i łączność operatorów c.
Operandy mogą mieć typu integralną, pływające lub wskaźnik.Typy operandów mogą być różne.Operatory relacyjne wykonywanie zwykłych konwersje arytmetyczne na operandy typu integralną i pływających.Ponadto można użyć następujących kombinacji typów operand z relacyjnych i równości operatory:
Zarówno operandy o każdym relacyjnej lub równości operator może być wskaźniki do tego samego typu.Dla równości (==) i nierówności (!=) podmioty gospodarcze, wynik porównania wskazuje, czy dwa wskaźniki adres tej samej lokalizacji w pamięci.Dla innych operatory relacyjne (<</c1>, , **<</c7>=, i =), wynik porównania wskazuje względną pozycję adresy pamięci dwa obiekty, wskazywanego.>>**Operatory relacyjne porównania tylko przesunięcia.
Porównanie wskaźnik jest zdefiniowany tylko dla części tego samego obiektu.Jeśli wskaźniki odnoszą się do członków tablicy, porównanie jest równoznaczne z porównania odpowiednich dolnego.Adres pierwszy element tablicy jest "mniejszy niż" adres ostatniego elementu.W przypadku struktur, wskaźniki do struktury członków zadeklarowanych później są "większy niż" wskaźniki do członków zadeklarowanych wcześniej w strukturze.Wskaźniki do członków tej samej Unii są równe.
Wartość wskaźnika można porównać do stałej wartości 0 dla równości (==) lub nierówności (!=).Wskaźnik o wartości 0 jest nazywany "null" wskaźnik; oznacza to, że nie pkt lokalizacji w pamięci ważne.
Operatory równości wykonaj te same reguły, operatory relacyjne, ale zezwolić na dodatkowe możliwości: wskaźnik mogą być porównywane wyrażenie stałe integralną z wartością 0 lub wskaźnika do void.Jeśli dwa wskaźniki są oba wskaźniki zerowe, porównaj jako równe.Równości operatory porównania zarówno segmentu i przesunięcie.
Przykłady
Poniższe przykłady ilustrują relacyjnych i operatory równości.
int x = 0, y = 0;
if ( x < y )
Ponieważ x i y są równe, wyrażenie w tym przykładzie zwraca wartość 0.
char array[10];
char *p;
for ( p = array; p < &array[10]; p++ )
*p = '\0';
Fragment w tym przykładzie ustawia się każdy element array do stałej znakiem null.
enum color { red, white, green } col;
.
.
.
if ( col == red )
.
.
.
Instrukcje te zadeklarować zmienną wyliczenia o nazwie col za pomocą tagu color.W dowolnym momencie zmienna może zawierać wartość całkowitą 0, 1 lub 2, co stanowi jeden z elementów zestawu wyliczania color: kolor czerwony, biały lub zielony, odpowiednio.Jeśli col zawiera 0 po Jeśli jest wykonywana instrukcja, wszelkie oświadczenia, w zależności od Jeśli będzie wykonywany.