左辺値と R 値の式
メモリ位置を示す式は 「左辺値」式と呼ばれます。左辺値は記憶領域に 「ロケーター値または等号 (=) の左側に表示できることを意味する 「左」値を表します。左辺値は識別子です。
変更できる場所を参照する式が呼び出されると「変更できる左辺値」と呼ばれます。変更可能な左辺値と 定数 の属性の配列型不完全な型または型を含むことはできません。変更可能な左辺値である構造体や共用体の場合には 定数 の属性のメンバーを使用できません。識別子の名前に変数の値はその場所に格納される値ですが場所に表示されます。
識別子はメモリ位置を示す型が数値で変更できる左辺値構造体共用体またはポインターです。たとえば ptr が記憶領域へのポインターである場合*ptrptr が指すメモリ領域を指定する変更できる左辺値です。
次の C の式が左辺値の式です :
整数浮動ポインター構造体または共用体型の識別子
配列ではない ()[入力] の添字式
メンバーの選択 – > 式 (または) 。
配列を示す単項間接参照 () の式 *
かっこ内の式の左辺値
定数 のオブジェクト (変更できない左辺値)
用語「 r 」値が式の値について説明し左辺値と区別するために使用されます。すべての左辺値は右辺値ですがすべての右辺値は左辺値ではありません。
Microsoft 固有の仕様 →
Microsoft 15 では左辺値のキャストは左辺値として使用できる 15 ANSI C 規格にオブジェクトのサイズがキャストを使用して延びない限り拡張子が含まれます。(詳細については 変換を型に展開します を参照してください)。次の例ではこの機能を示しています :
char *p ;
short i;
long l;
(long *) p = &l ; /* Legal cast */
(long) i = l ; /* Illegal cast */
Microsoft C の既定値は Microsoft 拡張機能を有効にする必要があります。これらの拡張機能を無効にする /Za コンパイラ オプションを使用します。
終了 Microsoft 固有の仕様→