共用方式為


C 關聯式與相等運算子

二進位關聯式與相等運算子比較其第二個運算元,若要測試有效性的特定關係其第一個運算元。 如果已測試的關聯性為 true,且 0,則為 false 時,關聯的結果會是運算式的 1。 結果的型別是int。

語法

  • 關聯運算式
    移位運算式

    關聯運算式**<** 移位運算式

    關聯運算式**>** 移位運算式

    關聯運算式**< =** 移位運算式

    關聯運算式**> =** 移位運算式

  • 相等運算式
    關聯運算式

    相等運算式**= =** 關聯運算式

    相等運算式**! =** 關聯運算式

等號比較運算子關聯式和等號比較運算子來測試下列關聯性:

運算子

測試的關聯性

<

小於第二個運算元的第一個運算元

>

第一個運算元大於第二個運算元

<=

第一個運算元小於或等於第二個運算元

>=

第一個運算元大於或等於第二個運算元

==

第一個運算元等於第二個運算元

!=

不等於第二個運算元的第一個運算元

個上述清單中的前四個運算子的優先順序高於等號比較運算子 (==和!=)。 表格中優先順序的資訊,請參閱的優先順序和順序關聯性的 c 運算子

運算元可以具有整數、 為浮動狀態,或指標型別。 運算元型別可能會不同。 關聯式運算子會執行一般的算數轉換的整數和浮點型別的運算元。 此外,您可以使用下列的運算元型別與關聯式與相等運算子的組合:

  • 兩個運算元的任何關聯式或等號比較運算子可以為相同類型的指標。 是否相等 (==) 和不等比較 (!=) 運算子,比較的結果指出兩個指標是否會處理相同的記憶體位置。 對於關聯式運算子 (<><=,和 >=),則比較的結果會指出兩個記憶體的位址所指向的物件之相對位置。 關聯式運算子會比較只位移。

    指標比較只定義相同的物件的部份。 如果指標參考的陣列成員,就有一個比較相當於比較的相對應的註標。 第一個陣列元素的位址是 「 小於 」 的最後一個元素的位址。 結構,稍後所宣告的結構成員的指標會指向稍早在結構中宣告的成員的 「 大於 」 指標。 指向相同的等位的成員的指標相等。

  • 指標值,就可以比較是否相等的常數值 0 (==) 或不等比較 (!=)。 稱為 「 null 」 的指標 ; 的指標,且其值為 0。 也就是它未指向有效的記憶體位置。

  • 等號比較運算子會遵循關係運算子,與相同的規則,但允許其他的可能性: 常數整數值 0,運算式或變數的指標,就可以進行比較指標void。 這兩個 null 指標的兩個指標時,它們會比較為相等。 等號比較運算子會比較區段與 [位移。

範例

下列範例說明關聯式與相等運算子。

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

因為x和y相等,此範例中的運算式會產生值為 0。

char array[10];
char *p;

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

在這個範例中的片段設定每個項目array的空字元常數。

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

這些陳述式宣告列舉型別變數名稱為col有索引標籤color。 無論何時,此變數可能包含整數值 0、 1 或 2,表示其中一個列舉型別集合的項目color: 色彩的紅色、 白色或綠色,分別。 如果col為 0 時如果陳述式時,根據任何陳述式如果就會執行。

請參閱

參考

關係運算子: <>,,< = 和 > =

等號比較運算子: = = 和! =