05/01/19 01:07:10
>>948
>式と言われると、y=ax^2+bx+c のような(数学)式を連想してしまいます。
>左辺&右辺にはそれぞれ値があるのですが、式自体には値は無いですよね…
値の有無は式に属するか文に属するかによる。
例えばVBの代入は文に属する。
a := b := cとは書けない。
でも右辺には式が置ける。
a := b + 1など。
しかし、C言語では代入は演算子として定義されており、
演算子は式に属する。
C言語の式a = b = cはa = (b = c)と解釈され、b = cが先に評価される。
この評価の順番を結合規則と呼び、C言語の式には
かならず結合規則が存在し、代入式は右結合と規定されている。
同じ演算子同士は結合規則によって順番が決まり、
違う演算子同士ならば優先順位によって決まる。
a = b = cの場合、式の値はcの中身になる。