C++, 2.변수의 기본적인 자료형

이도현·2023년 8월 9일
0

1. 기본자료형 소개

2. 정수형

1 byets = 8 bits
char = 1 bytes
Short = 2bytes
int = 2 bytes
long = 4 bytes
long long = 8 bytes

  • 각각 의 형태마다 표현할수 있는 정보의 제한이 있고 예를 들어 short 안에 +-32767이라는 숫자를 초과하여 코딩하면 표현하지 못하게 된다.

궁금하면 직접 cout << sizeof() << endl; 를 사용하여 확인해 볼 것.

3. 고정 너비 정수

  • 고정 너비 정수: 환경에 따라 같은 int가 4byte로 있는 경우도 2byte오 있는 경우도 있다. 항상 같은 값을 가지게 하기 위해서 등정 한 것이다.

멀티플랫폼 프로그래밍에서 중요한 개념이다. 이해의 영역임으로 필요시 검색할 것.

#include <iostream>

using namespace std;

int main()
{	
	int16_t i(5);
	int8_t myint = 65;

	int_fast8_t fi(5);
	int_least64_t fl(5);

	return 0;
}

4. 무치형 (void, 보이드)

  • void: 타입 없음을 의미한다.
  • 변수는 void 타입으로 정의할 수 없다.

함수를 선언할 때 파라미터가 없다로 void를 사용한다. return type이 없을 경우에도 반드시 사용해햐한다.

#include <iostream>

using namespace std;

void my_function(void)
{
}

int main()
{	
	int i = 123;
	float f = 123.456f;

    //이 부분을 이해하기 위해서는 포인터에 대한 이해가 완료되어야 한다. 아래의 코드에 대해 완벽하게
    //설명 할 수 있도록 공부해서 다시 봐보기를 추천한다.
	void* my_void;
	my_void = (void*)&i;
	my_void = (void*)&f;

	return 0;
}

5. 부동소수점수

  • 부동소수점: 컴퓨터상에서 근사하여 표현할 때 소수점의 위치를 고정하지 않고 그 위치를 나타내는 수를 따로 적는 것으로, 요효숫자를 나타내는 기수와 소수점의 위치를 풀이하는 지수로 나누어 표현한다.(지수와 가수의 이진법 표현방식에 대해 이해가 필요하다.)

float = least 4byte ~ 4byte
double = least 8byte ~ 8byte
Long double = least 8bute ~ 12 or 16 byte

#include <iostream>

using namespace std;

int main()
{	
	float f(3.14); // 3.14 = 31.4 * 0.1

	cout << 3.14 << endl;
	cout << 31.4e-1 << endl;
	cout << 31.4e-2 << endl;
	cout << 31.4e1 << endl;
	cout << 31.4e2 << endl;

	return 0;
}

찍어보면 이해가 확 된다.

#include :: setprecision의 사용에 대해 검색해보기

디버깅시 inf, -inf, non(ind)가 나오면 오류라고 생각해야한다.

6.불리언 자료형과 조건문 if

int main(){
  true = 1
  false = 2

  cout << true << endl;
  cout << false << endl;
  cout << !true << endl; // not operation !는 가독성이 안 좋음
  cout << true && false << endl; // and operation &&
  cout << ture || false << endl; // or operation ||
  
  return 0;
}

true와 false를 바꿔가면서 찍어봐용 쉽고 재밌게 이해 됨.

7. 문자형 char type

cout << char(65) << endl;
cout << char('A') << endl;
// 위에 둘은 동일한 결과가 나오는 것으로 확인할 수 있다.
cout << char('65') << endl;
cout << int('A') << endl;

찍어봐 재밌어.

8. 리터럴 상수, 심볼릭 상수

  • 리터럴은 데이터(값) 그 자체를 뜻한다. 즉, 변수에 넣는 변하지 않는 데이터를 의미하는 것
  • 상수는 변하지 않는 변수를 의미하며 메모리 값을 변경할 수 없다.

1) 정수형: 소수점이 포함되지 않는 상수
10진수, 16진수, 8진수에 대한 공부가 필요한 순간이 올 수 있음.

2) 실수형: 소수점이 포함된 상수

3) 문자: 작은 따옴표로 묶인 문자 하나

4) 문자열 상수: 큰 따옴표로 묶은 하나 이상의 문자로 구성된 문자열

  • 심볼릭 상수: 상수를 기호화하여 의미있는 이름으로 지어서 쓰는 상수

1) const 키워드 - 상수화 시키기

2) define 키워드 - 상수화시키기(cpp에서는 비효율적인 방법 알아두기만 하기)

const double gravity{ 9.8 } // 중력을 고정시키고 변하지 않게 하기 위해 const를 붙임.

profile
좋은 지식 나누어요

0개의 댓글