연산자의 대해 먼저 하나씩 알아본 후에
연산자 우선순위를 다루어야 할까 고민도 했지만,
먼저 전체를 보여주고, 각각의 연산자에 대해 하나씩 알아가 보는것도 좋겠다 싶어서
먼저 연산자의 우선순위 를 언급하고자 한다.
연산자 우선순위란?
int a = 10;
int b = 20;
int c = 30;
int total = a + b + c;
가감 연산자 + 의 우선순위는 대입연산자 = 의 우선순위 보다 먼저라는 것이다.
또한 + 연산자와 = 연산자는 오른쪽에서 왼쪽으로 결합된다.
int total = a + b + c;
int total = a +50;
int total = 60;
이렇게 처리 된다는 것이다.
+ 먼저 처리하고, = 을 처리 한다는 뜻이고,
오른쪽에서 왼쪽으로 결합된다는 뜻이다.
다른 예제를 보자
int total = (a + b) + c;
여기에서는 ( ) 연산자가 + 보다 높기 때문에
int total = 30 + c;
int totla = 60;
이렇게 처리 된다는 뜻이다.
예제1)
int a = 10;
int b= 20;
int c = 30;
int total = a * 2 + b << 3 + c | 5;
결과 : 85
예제2)
int total = (a * 2) + (b << 3) + (c | 5);
결과 : 211
+ 연산자가 << 연산자나 | 연산자보다 우선되고
( ) 연산자가 + 연산자 보다 우선 되므로
위 두 예제는 결과가 다르다.
아무튼 연산자에 대해서는 차차 알아보기로 하고,
연산자의 우선순위가 있고, 또한 결합순서가 어떠한 경우에는 오른쪽에서 왼쪽으로
어떠한 경우에는 왼쪽에서 오른쪽으로 결합하는구나 생각하면 될듯 하다.
연산자의 우선순위를 기억하기 보다.
( ) 의 우선순위가 가장 높으므로
예제2) 번 처럼 ( ) 를 사용하여 코드를 정확하게 해 주는 것이 필요 하겠다.
'C언어(2020년)' 카테고리의 다른 글
20. bool 자료형 (0) | 2020.11.03 |
---|---|
19. 연산자 (0) | 2020.11.03 |
17. 포인터 (1) | 2020.11.03 |
16. RAM 에 대한 고찰 (0) | 2020.11.03 |
15. 주석 (0) | 2020.11.03 |