(C++) 2.1 기본 자료형 info

이준우·2021년 10월 8일
0

저번 시간까지는 visual studio와 C++의 기본에 대해 배웠다면, 이번 시간에는 C++을 사용하기 위한 기본 자료형에 대해 알아보자!!!👨‍🏫╰(°▽°)╯

전자과라면 많이 보았던 bit, byte 개념을 사알짝 알아보자.
0x00000001 로 이해를 해보자. 0x00000001 = 1 에서 0과 1로 이루어져 있고 이들은 각각 bit에 해당한다. 또한, bit가 8개가 모이면 byte라고 한다.

평소 자주 사용했던 int x = 1을 보면 x라는 변수에 1을 초기화하고 있다. 이때 이 int 메모리에서 갖는 크기는 어떻게 될까? 이 int는 4byte를 갖고 있다. 즉 정수를 하나 집어 넣으려면 메모리에서 4byte를 할당해야 한다..
문자형인 char a = 'H' 인 경우에는 a라는 변수에 H라는 문자를 초기화하고 있다. 이때 char는 1byte의 크기를 갖는다. 즉, 문자를 하나 집어 넣으려면 메모리에서 1byte를 할당해야 한다.

우리가 보통 char자료형에 대해선 8bit만 사용하는 것으로 알고 있는데 16bit(?), 32bit(?) 이건 뭐지?... 문자형이라면 'A', 'B', 'C' 등을 생각하는데 요즘은 이모티콘을 써서 사용하는 경우도 있다. 이건 실무를 가게 되면 사용을 하는데, 현재로썬 그렇게 중요하진 않으니 넘어가자.

음의 정수, 0, 양의 정수 모두를 사용할 땐 signed를 사용한다.
0, 양의 정수를 사용할 땐 unsigned를 사용한다. 왜 이렇게 나눌까?
-> signedunsigned는 처리하는 방식이 다르다. 즉, for문을 사용하여 특정 연산을 처리할때, unsigned 방식이 signed방식보다 더 빠르다.

부동소수점은 소수점을 출력할 때 사용하는데, 왜 굳이 이렇게 부를까? 숫자를 저장하는 방식때문에 그렇다. 지수부하고 실수부를 구분한다.(다음번에 자세히 설명함!!!) float 같은 경우 32bit, double 같은 경우 64bit를 사용한다.

auto aValue1 = 3.141592auto aValue2 = 3.141592f 같은 경우에는 auto를 이용해서 스스로 자료형을 찾는 것을 볼 수 있다.

sizeof()같은 경우에는 자료형의 크기를 확인할 때 사용한다. sizeof(aValue1)을 출력하였을때 8이 나오는 것은 aValue1의 자료형이 double이기 때문이다.

int i = 3.141592;                 // copy initialization     소수점일 경우 -> warning 예민
int a(123);                       // direct initialization   소수점일 경우 -> warning 예민
int b{ 123 };                     // uniform initialization  소수점일 경우 -> error   엄격함
	

위 코드는 나중에 객체 지향을 공부하게 될때 중요한 부분이다. 각각이 초기화를 하는 기능을 하는데 사용법이 다르다. 나중에 자세하게 설명하겠다.

오늘은 자료형에 대한 기본적인 개념에 대해 알아보았다. 별로 어려운 개념은 아니지만 점점 공부해야할 양이 많아지는 것에 대한 압박(?)이 느껴진다. C언어나 파이썬을 공부한 나로써는 아직까지는 쉽지만 초기화에 대한 개념에 대해 새롭게 알아가는 것을 보면 나름 언어가 여러개가 있는 이유가 있는 것 같다..;;(⊙_⊙;)

profile
꿈꾸는 CV

0개의 댓글