1 次式 は、次の一般的なカテゴリーに分かれます。
名前の値は、名前の型によって異なり、名前の型はその名前の宣言方法により決まります。次の表は、名前が左辺値式であるかどうかを示します。
1 次式: 名前 | ||
名前の宣言 | 評価対象 | 左辺値である |
---|---|---|
算術、ポインター、列挙、構造体、または共用体型の変数 | その型のオブジェクト | 左辺値 |
列挙型定数 | 関連した整数値 | 左辺値ではない |
配列 | その配列。変換の対象となるコンテキストでは、その配列の最初のオブジェクトへのポインター (sizeof 演算子への引き数として名前が使用される場合を除く)。 |
![]() |
関数 | その関数。変換の対象となるコンテキストでは、その関数へのポインター (sizeof 演算子への引き数、または関数呼び出し式内の関数として名前が使用される場合を除く)。 |
|
名前は、式として、ラベル、typedef 名、構造体コンポーネント名、共用体コンポーネント名、構造体タグ、共用体タグ、または列挙型タグを参照することはできません。式内で名前によって参照される名前は、これらの目的のための名前とは分離したネーム・スペースに常駐します。 これらの名前には、特殊な構成を指標することによって式内で参照可能なものもあります。例えば、ドットまたは矢印演算子を使用して構造体および共用体コンポーネント名を参照することができ、typedef 名をキャストで、または sizeof 演算子への引き数として使用することができます。
リテラル
リテラルは、数値定数またはストリング・リテラルです。リテラルを式として評価する場合、その値は定数です。字句定数を左辺値とすることはできません。ただし、ストリング・リテラルは左辺値です。
関連参照