KH_C++
자료형, 연산자 우선순위 본문
C++ 자료형
자료형이란 변수의 종류입니다. 변수에 값을 담기 전에 정수, 실수, 문자, 문자열 등 값을 지닐 수 있는지
자료형을 미리 정해주어야 합니다.
컴퓨터의 모든 데이터는 일련의 비트(bit)이기 때문에 자료형을 사용해서 메모리의 내용을 의미 있는
방식으로 해석하는 방법을 알려줄 수 있습니다.
int
정수. (예) 123, -123 ※ 소수점 없는 숫자.
※ 4 bytes 크기.
float
부동소수. (=실수) (예) -19.99, -19.99
※ 10진수 7자리 저장에 충분.
※ 소수점 6~7 자리 가능.
※ 4 bytes 크기.
double
부동소수. (=실수) (예) -19.99, -19.99
※ 10진수 15자리 저장에 충분.
※ 소수점 15 자리 가능.
※ float 보다 정밀도가 높아, 정밀한 계산에 적합.
※ 8 bytes 크기.
char
단일문자(character) (예) 'H', 'Z'
※ 단일문자, 숫자, ASCII 값 저장.
※ 작은따옴표로 묶음.
※ 1 byte 크기.
참거짓 (boolean) 의미. (예) true, false
※ 1 byte 크기.
문자열. (예) "Hz"
※ 큰따옴표로 묶음.
정수 자료형의 이름에 한해서 unsigned 선언을 추가하면, 0 이상의 값만 표현하는 자료형이 되어서, 표현할 수 있는 값의 범위가 양의 정수 방향으로 두 배 더 넓어지게 됩니다. 예를 들어서 char형 변수의 경우, 기본적으로 표현할 수 있는 값의 범위가 -128이상 +127이하입니다. 그러나 앞에 unsigned를 붙여서 unsigned char가 되면 표현할 수 있는 값의 범귀가 0이상 +255이하가 되는 것입니다.
연산자 우선순위
- 연산자 우선순위(Operator precedence)는 어떤 식에서 다른 우선순위를 가진 둘 이상의 연산자 중 어떤 연산자가 먼저 수행될지 결정합니다.
- 4 + 3 * 2라는 식에서, 우리는 정규 수학 우선순위에 따라 더하기 전에 곱하는 것을 먼저 수행해줍니다. -> 4 + (3 * 2)
- 하지만 C++에서 컴파일러가 4 + 3 * 2 식을 만났을 때, 식을 분석하고 어떻게 계산할지 결정합니다.
- 위 과정을 수행하기 위해, 모든 연산자들은 우선순위 레벨를 할당받습니다.
- 가장 높은 우선순위 레벨의 연산자가 가장 먼저 평가됩니다.
- 연산자 표를 보면 곱셈, 나눗셈(level 5)이 덧셈, 뺄셈(level 6)보다 높다는 것을 확인할 수 있습니다.
- 따라서 4 + 2 *3은 곱셈이 덧셈보다 우선순위가 높기 때문에 4 + (2 * 3)으로 계산합니다.
C++ 연산자들의 연결규칙과 우선순위입니다. 연산자는 위에서부터 아래로 내림차순의 우선순위를 가집니다.
'C++' 카테고리의 다른 글
오답노트 (0) | 2022.11.11 |
---|---|
벡터(Vector)의 멤버함수 (0) | 2022.11.09 |
STL 구성요성 (0) | 2022.11.09 |
메모리 구조 이해 (0) | 2022.10.26 |
Compile 과정 조사 및 정리 (0) | 2022.10.09 |