C++ 연산자 우선순위에 대한 정리
연산자 우선순위에 대해 알아보기 전 먼저 연산자에 대해 알아보자
연산자(operator)란?
컴퓨터가 수행해야할 기본적인 작업 명령을 설정하는 식을 구성하는 기본단위.
즉, 말 그대로 주어진 식을 연산하는 작업을 수행하는 역할을 한다.
연산자에는 여러 종류가 있는데, 본문에 정리를 하기엔 매우 종류가 다양하여 관련 자료를 확인할 수 있는 게시글 링크를 달아두겠다.
매우 자세히 서술되어있어 도움이 많이 된다.
더보기
https://ko.wikipedia.org/wiki/C%EC%99%80_C%2B%2B%EC%9D%98_%EC%97%B0%EC%82%B0%EC%9E%90
C와 C++의 연산자 - 위키백과, 우리 모두의 백과사전
ko.wikipedia.org
https://ansohxxn.github.io/cpp/chapter3-1/
C++ Chapter 3.1 : 연산자 종류 정리
인프런에 있는 홍정모 교수님의 홍정모의 따라 하며 배우는 C++ 강의를 듣고 정리한 필기입니다. 😀 🌜 [홍정모의 따라 하며 배우는 C++]강의 들으러 가기!
ansohxxn.github.io
수학에서도 어떠한 식을 풀이할 때 우선순위가 있듯이, 프로그래밍 언어에서도 마찬가지로 연산자끼리의 우선순위가 존재한다. 우선순위에 맞지 않게 코드를 작성할 경우 에러가 발생할 수 있으니 꼭 주의하여 코드작성이 필요하다.
아래의 표를 참고하여 우선순위와 해당 연산자의 결합 법칙을 확인하자
연산자 우선순위 표
우선순위 | 연산자 | 설명 | 결합 법칙(방향) |
1순위 |
x++ | 증가 연산자(뒤, 후위) | → |
x-- | 감소 연산자(뒤, 후위) | ||
( ) | 함수 호출 | ||
[ ] | 배열 첨자 | ||
. | 구조체/공용체 멤버 접근 | ||
-> | 포인터로 구조체/공용체 멤버 접근 | ||
(자료형){값} | 복합 리터럴 | ||
2순위 |
++x | 증가 연산자(앞, 전위) | ← |
--x | 감소 연산자(앞, 전위) | ||
+x | 단항 덧셈 | ||
-x | 단항 뺼셈 | ||
! | 논리 NOT | ||
~ | 비트 NOT | ||
(자료형) | 자료형 캐스팅(자료형 변환) | ||
*x | 포인터 x역참조 | ||
&x | x의 주소 | ||
sizeof | 자료형의 크기 | ||
3순위 | * | 곱셈 | → |
. | 나눗셈 | ||
% | 나머지 | ||
4순위 | + | 덧셈 | → |
- | 뺄셈 | ||
5순위 | << | 왼쪽으로 비트를 시프트 | → |
>> | 오른쪽으로 비트를 시프트 | ||
6순위 | < | 작음(논리) | → |
<= | 작거나 같음(논리) | ||
> | 큼(논리) | ||
>= | 크거나 같음(논리) | ||
7순위 | == | 같음 | → |
!= | 다름 | ||
8순위 | & | AND(비트) | → |
9순위 | ^ | XOR(비트) | → |
10순위 | | | OR(비트) | → |
11순위 | && | AND(논리) | → |
12순위 | || | OR(논리) | → |
13순위 | ? : | 삼항 연산자 | ← |
14순위 | = | 할당 | ← |
+= | 덧셈 후 할당 | ||
-= | 뺼셈 후 할당 | ||
*= | 곱셈 후 할당 | ||
/= | 나눗셈 후 할당 | ||
%= | 나머지 연산 후 할당 | ||
<<= | 비트를 왼쪽으로 시프트 한 후 할당 | ||
>>= | 비트를 오른쪽으로 시프트한 후 할당 | ||
&= | 비트 AND 연산 후 할당 | ||
^= | 비트 XOR 연산 후 할당 | ||
|= | 비트 OR연산 후 할당 | ||
15순위 | , | 쉼표 연산자 | → |
'프로그래밍 > C++' 카테고리의 다른 글
C++ vector (0) | 2022.07.27 |
---|---|
STL (0) | 2022.07.27 |
C++ 자료형에 대한 정리 (0) | 2022.06.29 |
2022-06-21 / C++ 입문 야구게임 / exe (0) | 2022.06.28 |
2022-06-20 / c++ 입문 / 구구단 세로 / exe (0) | 2022.06.28 |
댓글