All about C++/기본

1. 변수와 상수 (이론편)

① 변수는 값을 할당할 수 있는 공간이다.

  ㉠ 변수(Variable)는 집에 비유할 수 있다.

   변수에 할당되는 값(데이터)을 변수 안에 살고 있는 사람으로 비유할 수 있다.

    ⓐ 변수의 이름은 '흥부네 집'이고, 값은 '흥부'이다.

  ㉢ 값을 할당된 변수에 다른 값을 할당할 수 있다.(단, 원래 있던 값은 없어진다.)

    ⓐ 흥부가 이사가도 흥부네 집을 철거하지 않는 한 흥부네 집은 그대로 남아있다. 흥부 대신 놀부가 이사와 살아도 집 이름이 흥부네 집인 것은 변함없다.

  값의 형식은 다음과 같다.(당장 알아야 할 것은 기본/내장 형식이다.)

  값에는 크기가 존재하다.

    ⓐ 놀부는 많은 재산을 소유하기 위해서 큰 집이 필요하다. 작은 집에는 다 보관할 수 없기 때문이다.

    ⓑ 흥부의 재산은 적기 때문에 작은 집에도 보관할 수 있고, 큰 집에도 보관할 수 있다.

    ⓒ 만약 작은 집에 놀부의 재산을 모두 넣으려 하면 오버 플로우(Overflow)나 언더 플로우(Underflow) 발생한다. 쉽게 말하면 값의 범위가 값을 할당하려는 변수의 범위보다 클 경우 발생한다.

ⓒ 기본 데이터 형식들의 크기는 다음과 같다. (다른 형식들의 크기는 기본 데이터 형식들의 크기로 구할 수 있다.)

Type Keyword Size(Byte)
Typeless void 의미 없음
Character char 1
Wide Character wchar_t 2
Integer int 4
(Single) Floating Point float 4
Double Floating Point double 8
Boolean bool 1
더보기

굳이 알 필요는 없는 데이터 형식들을 포함한 데이트 형식의 크기는 다음과 같다.

KeyWord Size(Byte) Possible values
bool 1 true or false
unsinged char 1 0 ~ 255
char(or signed char) 1 -127 ~ 127 or 0 ~ 255
wchar_t 2 0 ~ 65535
short(or signed short) 2 -32768~32767
unsigned short 2 0 ~ 65535
int(or signed int) 4 -2147483648~2147483647
unsinged int 4 0~2^32
long(or long int or signed long) 4 -2^31~2^31 -1
unsinged long 4 0~2^32 -1
float 4 -3.4e^-38 ~ 3.4e^38
long long 8 -1.7e^-308 ~ 1.7e^308
unsigned long long 8  
double 8  
long double 8  

   변수의 형식은 값의 형식을 포함해야 한다.

    ⓐ 사람 집에 개가 살 수는 있지만, 일반적으로 개집에 사람이 살 수는 없다.

중복된 변수이름은 사용할 수 없다.
언더스코어(_)를 제외한 특수문자는 사용할 수 없다
숫자로 시작하는 변수명은 사용할 수 없다
변수명 길이에 제한은 없다
키워드를 변수명으로 사용할 수 없다
변수의 이름은 바꿀 수 없다.

② 상수(Constant)는 할당된 값을 변화시킬 수 없다.

  ㉠ 상수는 코드적으로 값을 변화시킬 수 없는 변수를 뜻한다.

③ 리터럴(Literal)은 변하지 않는 값 그 자체를 일컫는다.

  ㉠ 상수와 리터럴은 다른 개념이다.

  ㉠ 변하지 않는 데이터(boolean, char, double, long, int, etc...)를 리터럴(Literal)이라고 부른다.