Fandom

Lihe 위키

C++/변수

< C++

7,010pages on
this wiki
Add New Page
Talk0 Share

변수 (變數, variable) 란 정보를 담을 수 있는 공간입니다. sizeof()를 이용해서 변수의 크기를 확인할 수 있습니다.

타입

타입이란 변수가 보관할 수 있는 값에 따른 변수의 종류입니다.

정수 타입

int int 타입은 정수를 보관할 수 있는 타입으로, int는 정수 (integer) 의 약어입니다. 보통 32비트 OS에서 int는 4바이트의 크기를 가지며, 64비트 OS에서는 8바이트의 크기를 기본적으로 가집니다. 이는 컴퓨터가 한번에 처리할 수 있는 양이기 때문입니다.
unsigned int unsigned int 타입은 0과 자연수만을 보관할 수 있는 타입입니다. 음수를 담을 수 있는 부분이 없기 때문에 int보다 더 큰 수들을 저장할 수 있습니다.
char char 타입은 문자를 보관할 수 있는 타입입니다. 여기에서 char은 문자 (character) 의 약어입니다.
bool bool 타입은 참 혹은 거짓 (true or false) 의 값을 가지는 타입입니다. 0이 출력되면 거짓 (false), 1이 출력되면 참 (true) 을 의미합니다. 직접적으로 bool 타입의 변수에 true나 false를 대입해도 됩니다. 그냥 출력하면 0 혹은 1으로 나오지만 cout을 아래와 같이 설정해주면 true와 false로 출력됩니다.
cout << boolalpha;

실수 타입

float float 타입은 단정도의 소수 타입입니다.
float lihe = 0.7f;

float 타입에 소수 값을 저장할 때에는 위와 같이 값의 끝에 f를 붙여줘야 합니다.

double double 타입은 float 타입보다 숫자를 더 자세하게 나타낼 수 있는 배정도의 소수 타입입니다. 물론 float에 비해 차지하는 공간이 더 큽니다.

선언과 초기화

어떤 변수를 사용하기 위해 정의하는 것을 선언이라고 부릅니다. 예컨대 int 타입의 i라는 이름의 변수를 선언하려면 아래와 같이 작성하면 됩니다.

int i;

C++에서는 변수를 선언하는 동시에 그 변수에 값을 지정해줄 수 있는데, 이를 초기화라고 하며 보통 바로 입력을 받게 되는 변수가 아니라면 선언 시에 초기화를 해놓는 것이 바람직합니다. 아래의 예시는 int 타입의 i라는 변수를 선언함과 동시에 0으로 초기화하는 코드입니다.

int i = 0;

이렇게 초기화에서 대입 연산자를 사용하는 것이 일반적이었으나 C++ 11 표준에서는 중괄호 {} 를 이용하여 초기화를 하는 것이 가능해졌습니다. C++ 11 표준대로 위의 예시 같이 초기화를 하면 아래와 같은 코드가 됩니다.

int i {0};

이러한 중괄호 형태의 초기화를 사용하면 타입을 변환하는 과정에서 실수를 범하지 않도록 자동으로 막아주게 됩니다. 예컨대

int a = 10000;
char b = a;

와 같은 코드는 기존의 C++에서 제약을 받지 않으나 충분히 문제가 되는 변환이지만 C++ 11 표준을 따라

int a {10000};
char b {a};

로 초기화를 하면 이 변환 자체를 허용하지 않기 때문에 타입 변환 문제에 있어 훨씬 안전합니다.

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

Also on Fandom

Random Wiki