expr_no_commas '=' expr_no_commas
그것은 C의 규칙에 찾았지만, 내가 생각할 수있는 유일한 가능한 형태가있다 :얼마나 많은 expr_no_commas '='expr_no_commas식이 C에 있습니까?
입니다identifier = expr_no_commas
, 왼쪽은 하나의 변수이고, 다른 변종?
expr_no_commas '=' expr_no_commas
그것은 C의 규칙에 찾았지만, 내가 생각할 수있는 유일한 가능한 형태가있다 :얼마나 많은 expr_no_commas '='expr_no_commas식이 C에 있습니까?
입니다identifier = expr_no_commas
, 왼쪽은 하나의 변수이고, 다른 변종?
비 식별자에 지정되는 많은 C 표현식이 있습니다. 다음은 몇 가지 예입니다.
x[1] = 5;
*f() = 7;
*p++ = 0;
a[i].f = a[i].g;
"규칙"은 어디에서 찾을 수 있습니까? 언어 규격에서 제시하는 구문 (안 n1256, § 6.5.16)는
assignment-expression:
conditional-expression
unary-expression assignment-operator assignment-expression
assignment-operator: one of
= *= /= %= += -= >= &= ^= |=
이다 단항 표현식 (렘 Willcock 보인 것처럼) 단일 식별자없는 제작 임의의 수 결과.
'* f() = 7;이 (가) 의심 스럽습니다 ... – assem
@assem : 왜 안 되니? 함수는 포인터를 반환 할 수 있습니다. –
하지만 그것은 lvalue입니까? – assem