변수란 무엇일까요? 실생활에서 변수라는 말을 종종 쓰기도 합니다. "계획에 변수가 생겼어" 처럼 말이죠. 이 때의 변수는 어떠한 상황에서 변할 수 있는 요인이라는 뜻으로 사용됩니다. 프로그래밍에서는 조금 다른 의미로 사용됩니다.
변수란 단 하나의 값을 저장할 수 있는 메모리 공간
어떠한 값을 저장하고 싶을 때 사용하는 것이 변수 입니다. 변수를 사용하는 방식은 세가지 단계로 나눌 수 있습니다.
1. 변수 선언
2. 변수에 값 저장(초기화)
3. 저장한 값 사용
변수는 타입, 이름, 값으로 이루어져 있습니다. 변수를 사용하기 위해서는 제일 먼저 선언을 해줘야 합니다. 컴퓨터에게 "나 이제 이 변수 사용할거야"라고 알려주는 것이죠.
1.변수 선언
변수의 선언은 다음과 같이 합니다.
변수타입 변수이름;
예)
int age;
위 코드에서 int 가 변수 타입 age가 변수이름입니다. 변수 타입은 이 변수에 어떤 종류의 값이 저장될지(예: 정수, 소수, 문자 등)를 나타 내는 것입니다. 위 코드의 int는 integere의 압글자로 정수형을 나타냅니다. 나이는 정수이므로 변수타입을int로 지정하였습니다. 변수이름은 원하는 이름(변수이름 정하는 방법은 맨 아래에)으로 바꾸셔도 상관 없습니다. 저는 나이를 저장하려고 변수를 선언했기 때문에 이름을 age로 정한 것입니다.
2. 변수에 값 저장
이제 부터 변수를 사용할 수 있게 된 것입니다. 그런데 이 상태에서 변수를 사용하게 되면 지금 변수에는 이상한 '쓰레기값'이 들어 있기 때문에 변수에 값을 저장해 초기화를 시켜줘야 합니다. 변수에 값을 저장하는 방법은 아래와 같습니다.
변수이름 = 값;
예)
age = 20;
우리에게 익숙한 = 기호가 등장하였습니다. 수학에서는 양 변의 값이 같다는 의미로 사용되지만 프로그래밍에서는 등호가 아닌 대입연산자라고 불리며 오른쪽의 값을 왼쪽에 저장하라고 시키는 역할을 합니다. 컴퓨터는 위에 코드를 보고 age라는 변수에 20이라는 값을 저장 하게 될 것입니다. 변수에 값을 저장하면 기존에 있던 값을 덮어쓰기 때문에 기존 값은 사라지고 새로운 값만 저장되게 됩니다.
아래와 같이 변수 선언과 초기화를 한줄에 할 수도 있습니다. 또한 변수의 선언은 코드의 가장 위에 해주는 것이 좋습니다.
//위와
int age; age = 20;
//아래는
int age = 20;
//정확히 같은 일을 하는 코드입니다.
3. 저장한 값 사용
이제 저장한 값을 읽어와 보도록 하겠습니다. 변수를 사용할 때에는 숫자를 대신해서 변수의 이름을 쓰면 됩니다.
#include<stdio.h>
int main(){
int age = 20; //age변수 선언, 초기화
int year = 2021; //year 변수 선언, 초기화
int year_of_birth; //year_of_birth 변수 선언
printf("age: %d\n", age); //age변수값 출력
printf("year: %d\n", year); //year 변수값 출력
printf("year_of_birth: %d\n", year_of_birth); //year_of_birth 변수값 출력
year_of_birth = year - age; //year 의 값에서 age의 값을 뺀 결과를 year_of_birth변수에 저장
printf("year_of_birth: %d\n", year_of_birth); //year_of_birth 변수값 출력
return 0; //프로그램 종료
}
뭔가 굉장히 복잡해 보이는 코드입니다. 위에서부터 차근 차근 알아가 보도록 하겠습니다. 선언 부분
int age = 20; 현재 나이를 저장하려고 만든 변수
int year = 2021; 현재 년도를 저장하려고 만든 변수
int year_of_birth; 태어난 해를 저장하려고 만든 변수
을 보면 두 변수 age와 year은 초기화를 했지만 year_of_birth는 선언만 한 것을 볼 수 있습니다.
밑에 printf()들은 각각의 변수 값을 출력해 주는 역할을 합니다. 이 코드를 실행해 보면 age와 year와 다르게 year_of_birth는 초기화를 안해서 이상한 값이 출력 되는 것을 볼 수 있습니다.
그 아래 year_of_birth = year - age;에서 year_of_birth의 값을 year값에서 age값을 뺀 값으로 저장하고 있습니다.
그리고 바로 다음 줄에서 year_of_birth 의 값을 출력하고 이번에는 쓰레기값이 출력 되지 않을 것입니다.
이렇게 변수에 대해 알아 보았습니다. 변수는 프로그래밍에서 아주 중요한 기본이기 때문에 확실하게 이해하시고 많이 연습해서 충분히 친해지고 난 후에 다음 단계로 넘어 가시는 것을 추천 드립니다.
'C언어' 카테고리의 다른 글
<누구나 쉽게 배우는 C언어> C언어 독학 강좌 2. 프로그램의 구조 (0) | 2022.02.10 |
---|---|
<누구나 쉽게 배우는 C언어>C언어 독학 강좌 1. C언어와의 첫 인사 (0) | 2022.02.10 |
<누구나 쉽게 배우는 C언어> C언어 독학 강좌 0. 개발환경 조성 Dev C++ (0) | 2022.02.10 |