C언어에는 다양한 연산자가 있고, 각각우선 순위가 정해져 있기 때문에
사용시 주의가 필요하다(엉뚱한 연산 결과가 나올 수 있다).
| 우선순위 | 연산자명 | 표기 | 서식 | 비고 |
| 1 | 함수 콜 | ( ) | f(...) | |
| 배열첨자 | [ ] | a[b] | ||
| 직접멤버 | . | a.m | ||
| 간접멤버 | -> | a->m | ||
| 처리후 증가 | ++ | x++ | ||
| 처리후 감소 | -- | x-- | ||
| 2 | 처리전 증가 | ++ | ++x | |
| 처리전 감소 | -- | --x | ||
| 기억 양 | sizeof | sizeof x | ||
| 어드레스 | & | &a | ||
| 간접참조 | * | *a | ||
| 단항 플러스 | + | +a | ||
| 단항 마이너스 | - | -a | ||
| 비트 반전 | ~ | ~a | a = 1010 0101 ~a = 0101 1010 |
|
| 부정 | ! | !a | a = 1010 0101 !a = 0101 1010 |
|
| 3 | 캐스트 | (형 지정) | (t)a | int a = 0x123456; char x; x = (char)a; x = 0x56 |
| 4 | 곱셈 | * | a * b | |
| 나눗셈 | / | a / b | ||
| 나머지 | % | a % b | ||
| 5 | 덧셈 | + | a + b | |
| 뺄셈 | - | a - b | ||
| 6 | 좌 시프트 | << | a << b | |
| 우 시프트 | >> | a >> b | ||
| 7 | 보다 작다 | < | a < b | |
| 이하 | <= | a <= b | ||
| 이상 | >= | a >= b | ||
| 보다 크다 | > | a > b | ||
| 8 | 동등 | == | a == b | |
| 부등 | != | a != b | ||
| 9 | 비트 AND | & | a & b | 비트단위 AND 연산, a = 1010 0101, b = 1001 1001 a & b = 1000 0001 |
| 10 | 비트 XOR | ^ | a ^ b | 비트단위 XOR 연산, a ^ b = 0011 1100 |
| 11 | 비트 OR | | | a | b | 비트단위 OR 연산 , a | b = 1011 1101 |
| 12 | 논리적 AND | && | a && b | a = 3, b = 1, c = 0 (a > b) && (b == 1) = 1 |
| 13 | 논리적 OR | || | a || b | (a > b) || (b < 1) = 1 |
| 14 | 조건 | ? : | c ? a : b | (a > b) ? 10 : 20; ans = 10 |
| 15 | 단순 대입 | = | x = a | |
| 가산 대입 | += | x += a | ||
| 감산 대입 | -= | x -= a | ||
| 곱셈 대입 | *= | x *= a | ||
| 나눗셈 대입 | /= | x /= a | ||
| 나머지 대입 | %= | x %= a | ||
| 좌 시프트 대입 | <<= | x <<= a | ||
| 우 시프트 대입 | >>= | x >>= a | ||
| 비트 AND 대입 | &= | x &= a | ||
| 비트 XOR | ^= | x ^= a | ||
| 비트 OR | |= | x |= a | ||
| 16 | 순차 | , | a, b |
반응형
'C > 개발환경' 카테고리의 다른 글
| Code::Blocks 프로그래밍 하기 (0) | 2024.08.12 |
|---|---|
| Code::Blocks 인스톨 하기 (0) | 2024.08.12 |
| Section에 대해서 (0) | 2024.07.06 |
| ASCII 코드 (0) | 2024.07.02 |
| 통합 개발 환경(IDE) (0) | 2024.06.17 |