C++ Chapter 2.1 : 기본 자료형 소개
카테고리: Cpp
태그: Cpp Programming
인프런에 있는 홍정모 교수님의 홍정모의 따라 하며 배우는 C++ 강의를 듣고 정리한 필기입니다. 😀
🌜 [홍정모의 따라 하며 배우는 C++]강의 들으러 가기!
Chapter2. 변수와 기본 자료형
character
- char는 정수이기도 하다. ASCII에 대응되어 저장되기 때문에.
-
char나 bool이나 내부적으로는 정수 Integer로 저장되고 보여질땐 변환
char c = 65; // c를 출력하면 'A'출력 bool b = true; // b를 출력하면 '1' 출력
-
char
: 최소 1byte 크기의 문자.char16_t
: char보다 작지 않은 최소 2byte 크기의 문자. ex) 한글char32_t
: char보다 작지 않은 최소 4byte 크기의 문자.wchar_t
: 표현할 수 있는 최대 크기의 문자세트. 주로 유니코드 문자에 사용된다.
signed integer
- 음수, 0, 양수.
- unsigned integer와 저장되는 방식이 다르다.
signed char
: char와 같은 사이즈인 최소 1byte 크기의 정수.- (signed)
int
: short 보다 작지 않은 최소 2byte 크기의 정수.- 대부분 4byte
- (signed)
long
(int) : int보다 작지 않은 최소 4byte 크기의 정수. - (signed)
long long
(int) : long 보다 작지 않은 최소 8byte 크기의 정수.- C99, C++11 부터 지원
unsigned integer
- 0, 양수.
- signed integer와 저장되는 방식이 다르다.
unsigned char
: char와 같은 사이즈인 최소 1byte 크기의 정수.unsigned int
: short 보다 작지 않은 최소 2byte 크기의 정수.- 대부분 4byte
unsigned long
(int) : int보다 작지 않은 최소 4byte 크기의 정수.unsigned long long
(int) : long 보다 작지 않은 최소 8byte 크기의 정수.
floating-point
- 실수
- 각각 숫자를 저장되는 방식이 다르다
float
: 4byte- 1.0 f
double
: float보다 정확도가 높다. 8byte- f 안붙이면 double
- float f = 3.14 ;
- 이건 오류다. double형을 더 작은 사이즈인 float에 구겨넣으려고 하는거라서.
- C에선 오류인데 C++에선 오류 아님. 걍 형변환 해줌.
- float f = 3.14 ;
- f 안붙이면 double
long double
: double보다 정확도가 높다.
auto
-
컴파일러가 타입을 알아서 정해준다.
auto f = 3.14f // f는 float로 컴파일 해줌
C++에서 변수를 초기화 하는 방법
1. int a = 123
- 가장 보편적
2. int a(123)
- C++언어
- 덜 엄격하다. 형변환을 해준다.
- int a(3.14)
- int 에 double을 넣은 꼴
- .14 버리고 3 으로 int 형변환 해준다
- int a(3.14)
3. int a{123}
- C++언어
- 더 엄격하다. 형변환을 해주지 않는다.
- int a{3.14}
- intdp double을 넣는 꼴
- 강제 캐스팅 안해준다.
- 에러
- int a{3.14}
cf)
int k, l, m = 2; // k, l은 2로 초기화 되지 않는다. m만 2로 초기화됨
// 보는 사람 입장에서 착각할 수 있으니 다음과 같이 해주어야 한다.
//초기화 안하는건 뒤에 or 따로따로
int m = 2, k, l;
int k, l;
int m = 2;
🌜 개인 공부 기록용 블로그입니다. 오류나 틀린 부분이 있을 경우
언제든지 댓글 혹은 메일로 지적해주시면 감사하겠습니다! 😄
댓글 남기기