C 的常數運算式
常數運算式在編譯時期不會執行時間,評估,並可用於任何可以使用的常數的地方。 常數運算式必須評估出一個常數所表示的值,該類型的範圍。 常數運算式的運算元可以是整數常數、 字元常數、 浮點常數、 列舉型別常數,型別轉換 (cast), sizeof運算式和其他常數的運算式。
語法
常數運算式:
條件式運算式條件式運算式:
邏輯 OR 運算式邏輯 OR 運算式**?** 運算式**:** 條件式運算式
運算式:
指派運算式運算式**,** 指派運算式
指派運算式:
條件式運算式一元運算式設定運算子指派運算式
設定運算子: 其中一項
= * = / = %= + = – = <> = = & = ^ = | =
結構宣告、 列舉值、 直接宣告、 行銷抽象宣告和標記的陳述式終端包含常數運算式為非末端。
整數常數運算式必須用來指定的位元欄位成員的結構、 列舉常數的值、 陣列的大小或值的大小案例常數。
前置處理器指示詞中所使用的常數運算式會受限於其他限制。 因此,它們稱為 「 受限制常數運算式"。 受限制的常數運算式不能包含sizeof列舉常數的運算式輸入型別轉換成任何型別或浮點型別常數。 可以,不過,包含特殊的常數運算式defined (識別項)。