얼마전에 대학들어가 열심히 공부중임니다-_-a;
c언어 배우고 있는데 다 아는거라 생각했던 것이 다시보니 잘 모르겟더군요;
이번기회에 제데로 공부한다고 생각하면서
문득 의문이 나던게 다른건 다 왼쪽 우선인데
-> ++,--(prefix), !, ~, +,-(unary) 등등 이나
-> ? : 이놈
-> =, 복합대입 이녀석들만 오른쪽 우선인데
그냥 정의 이겠거니 하다. 생각해보니 다 왼쪽으로 하면 편한데 굳이 저렇게 세개만 오른쪽
우선인건 이유가 있겠다 싶겠더라구요
오른쪽 우선이 아니면 =연산자만해도 a=b=c=1; 같은경우 말이 안되게 되는거 같고
근데 다른경우는 왜 굳이 오른쪽 우선인지 도무지 모르겠어서 질문 해봄니다.
아님 그냥 그런가보다 해야 할까요-_-a;
연산자 결합순서에 의해 오른쪽에서 왼쪽으로
c = 1;
b = c;
a = b;
이렇게 순자척으로 내부적으로 돌게 되는 겁니다.
오른쪽 왼쪽은 거의 의미는 없다고 봅니다. 우리는 이미 그러한 수식을 초등학교때부터 써왔으니깐요.
다만 좀 애매한 문장은 ()를 사용해 확실한 계산을 하도록 유도하는 것이 좋습니다.