回答編集履歴
1
refinement
answer
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
|
12
12
|
----
|
13
13
|
|
14
|
-
日本工業規格(JIS) X 3010
|
14
|
+
日本工業規格(JIS) X 3010:2003 プログラム言語C、その翻訳元である ISO/IEC 9899:1999 Programming languages - C より、直接関連する文面を引用しておきます。
|
15
15
|
|
16
16
|
> §3. 用語及び記号の定義/Terms, definitions, and symbols
|
17
17
|
> **バイト(byte)**
|
@@ -26,17 +26,17 @@
|
|
26
26
|
>
|
27
27
|
> §6.3.2.1.
|
28
28
|
> 左辺値(lvalue)は,オブジェクト型,又は`void`以外の不完全型をもつ式とする。
|
29
|
-
> An
|
29
|
+
> An __lvalue__ is an expression with an object type or an incomplete type other than `void`
|
30
30
|
>
|
31
31
|
> 変更可能な左辺値(modifiable lvalue)とは,配列型をもたず,不完全型をもたず, const 修飾型をもたない左辺値とし,(後略)
|
32
|
-
> A
|
32
|
+
> A __modifiable lvalue__ is an lvalue that does not have array type, does not have an incomplete type, does not have a const-qualified type, [...]
|
33
33
|
>
|
34
34
|
> §6.5.16.
|
35
35
|
> 代入演算子の左オペランドは,変更可能な左辺値でなければならない。
|
36
36
|
> An assignment operator shall have a modifiable lvalue as its left operand.
|
37
37
|
>
|
38
38
|
> 単純代入(simple assignment)(`=`)は,右オペランドの値を代入式の型に型変換し,左オペランドで指し示されるオブジェクトに格納されている値をこの値で置き換える。
|
39
|
-
> In
|
39
|
+
> In __simple assignment__ (`=`), the value of the right operand is converted to the type of the assignment expression and replaces the value stored in the object designated by the left operand.
|
40
40
|
>
|
41
41
|
> 注釈) 左辺値という名前は,代入式`E1 = E2`から由来している。すなわち,代入式の左のオペランド`E1`は,(変更可能な)左辺値となる必要がある。左辺値は,オブジェクトの位置を示す値を表現するものと考えたほうがよいかもしれない。時として右辺値と呼ばれるものは,この規格においては式の値として記述する。左辺値の最も明確な例は,オブジェクトの識別子である。(後略)
|
42
42
|
> The name "lvalue" comes originally from the assignment expression `E1 = E2`, in which the left operand `E1` is required to be a (modifiable) lvalue. It is perhaps better considered as representing an object "locator value". What is sometimes called "rvalue" is in this International Standard described as the "value of an expression". An obvious example of an lvalue is an identifier of an object. [...]
|