홀로의 책방/코딩을 공부하자(C언어)
chapter 3. 연산자 sizeof()와 우선순위
알 수 없는 사용자
2020. 1. 19. 16:17
1.연산자 sizeof와 콤마연산자
연산자 sizeof()는 표현식 또는 자료형의 저장장소 크기를 구하는 연산자이다. 연산자 sizeof의 결과값은 바이트단위의 정수이다.
sizeof(int)의 결과는 4, sizeof(3.14) 결과는 8, sizeof a의 결과는 2이다.
콤마연산자,
콤마의 오른쪽에서 수행한 연산의 결과가 결과값이다.
3+4,5-10 의 결과는 -5이다.
2.연산자 우선순위
우선순위 | 연산자 | 분류 | 결합법칙(계산방향) |
1 | ( ) [ ] . -> a++(후위) a--(후위) | 단항 |
->(좌에서 우로) |
2 | ++a --a ! ~ sizeof -(부호) +(부호) &(주소) *(역참조,간접) |
<-(우에서 좌로) | |
3 | * / % | 산술 | ->(좌에서 우로) |
4 | + - | ->(좌에서 우로) | |
5 | << >> | 이동 | ->(좌에서 우로) |
6 | < > <= => | 관계 | ->(좌에서 우로) |
7 | == != | ->(좌에서 우로) | |
8 | & | 비트 | ->(좌에서 우로) |
9 | ^ | ->(좌에서 우로) | |
10 | ㅣ | ->(좌에서 우로) | |
11 | && | 논리 | ->(좌에서 우로) |
12 | ㅣㅣ | ->(좌에서 우로) | |
13 | ?: | 조건 | <-(우에서 좌로) |
14 | = += -= &= /= %= <<= >>= &= ㅣ= ^= | 대입 | <-(우에서 좌로) |
15 | , | 콤마 | ->(좌에서 우로) |
콤마<대입<조건<논리<관계<산술<단항<괄호
괄호연산자는 무엇보다도 가장먼저 계산한다.
모든 단항연산자는 어느 이항연산자보다 먼저계산한다.
산술연산자는 곱셈,나눗셈,나머지계산이 더하기,뺄셈보다 먼저 계산한다.
산술연산자는 이항연산자 중에서 가장먼저계산한다.
관계>논리 연산자순으로 계산한다.
조건>대입>콤마연산자순으로 나중에 계산한다.