컴퓨터 프로그램에는 '변수'라는 것이 꼭 필요합니다.
변수는 말 그대로 "변화하는 수"입니다.
변수는 프로그램이 사용자의 입력값에 따라 유동적으로 동작할 수 있도록 하고,
프로그램을 더욱 다채롭게 만듭니다.
이번 포스팅에서는 컴퓨터 프로그램 내에서 변수를 선언하는 법과 초기화,
마지막으로 자료형의 종류까지 모두 알아보겠습니다.
변수(Variable)의 개념
변수는 컴퓨터 메모리 공간에 값을 할당할 수 있는 작은 공간을 의미합니다.
하지만 이 공간에는 특정한 데이터 타입(data type)의 값만 할당(assignment)할 수 있는데,
그 데이터 타입은 변수를 선언할 때 지정해 주어야 합니다.
변수의 선언
int number = 0;
이것이 변수 선언의 가장 일반적인 형태입니다.
이 변수 선언문의 의미는
"int 데이터 타입의 값을 할당할 수 있는 number라는 이름의 메모리 공간을 0으로 초기화한다"
라고 풀어 쓸 수 있습니다.
우선 첫 번째로 보이는 int는 integer(정수)의 약자로,
변수에 정수인 값만 할당할 수 있도록 데이터타입을 지정합니다.
int형 변수는 4개의 data cell, 즉 4바이트 만큼의 공간을 차지합니다.
데이터 타입의 종류는 int 말고도 문자를 저장할 수 있는 char형,
실수를 저장할 수 있는 double, float형이 있습니다.
자료형의 정보는 아래 표를 참고해주세요.
자료형 | 크기(Byte) | 범위(Range) | ||
정수형 | 부호있는 | short | 2 | -32,768 ~ 32,767 |
int | 4 | -2,147,483,648 ~ 2,147,483,647 | ||
long | 4 | -2,147,483,648 ~ 2,147,483,647 | ||
부호없는 | unsigned short | 2 | 0 ~ 65,535 | |
unsigned int | 4 | 0 ~ 4,294,967,295 | ||
unsigned long | 4 | 0 ~ 4,294,967,295 | ||
문자형 | 부호있는 | char | 1 | -128 ~ 127 |
부호없는 | unsigned char | 1 | 0 ~ 255 | |
부동소수점형 | float | 4 | -3.4*10^38 ~ 3.4*10^38 | |
double | 8 | -1.79*10^308 ~ 1.79*10^308 |
변수의 초기화
한편, 구문에서 대입연산자 '='을 통해 우측의 피연산자인 0을 좌측 피연산자인 변수 'number'에 할당하는 모습을 볼 수
있는데요, 이러한 과정을 "변수를 초기화"한다고 합니다.
초기화는 변수를 선언함과 동시에 할 수도 있고, 선언만 했다가 나중에 따로 초기화할 수도 있습니다.
하지만 변수를 초기화하지 않으면 쓰레기 값이 할당되니 주의하여야 합니다.
<Example1>
#include<stdio.h>
int main()
{
int a = 100;
char b = 'k';
float c = 3.141592;
printf("result: a = %d b = %d c = %d", a, b, c);
return 0;
}
%d(서식문자) 에 대해서는 다른 포스팅에서 다룰 예정이므로
일단은 ,(콤마) 뒤에 나열돼있는 변수들이 '%d' 가 있는 부분에 각각
순서대로 들어간다고 생각하면 쉽습니다.
(정확한 용어는 "평가한다(evaluate)" 라고 합니다.)
이 예제에서는, 우리가 변수를 성공적으로 선언&초기화하는데 성공했고,
할당된 그 값이 콘솔 창에 제대로 출력되었는가? 를 확인할 수 있으면 됩니다.
여기까지 변수(variable)와 자료형(data type)에 대해서 알아보았습니다.
다음 포스팅에서는 변수와 관련된 좀 더 심화된 내용을 다룰 예정입니다.
유익하셨다면 댓글 한 번씩만 부탁드립니다!
혹시 잘못되었거나 이해가 안 되시는 부분 또한 댓글로 문의주시면
최대한 빠르게 피드백 하겠습니다.