# 변수와 타입 그리고 연산자
<div class="embed-responsive embed-responsive-16by9">
<iframe src="https://www.youtube.com/embed/TzHO_HICz0Q" frameborder="0" allowfullscreen></iframe>
</div>
## 목차
1. 변수
2. 타입
3. 연산자
## 1. 변수(variables)
변수란 값을 저장하기 위한 메모리 공간이다.

아래 코드는 메모리에 변수를 할당하고 100의 값을 대입하는 예이다. 메모리 일부분에 변수의 공간을 만드는 것을 할당이라 한다.
```
int age = 100;
```
## 2. 타입(types)
타입이란 변수의 형태이다.

위 그림은 점수가 96 점, 몸무게가 82.4 kg, 이름이 "kim"인 변수를 나타낸다. 이를 코드로 작성하면 아래와 같다.
```
int score = 96;
double weight = 82.4;
char name[] = "kim";
```
문자열은 `char` 와 브라켓(`[ ]`)을 사용하여 정의한다. 문자열은 쌍따옴표 안에 담긴다.
(문자열 예: "안녕하세요? 반갑습니다.", "헬로 월드!")
정수는 `int`로 나타낸다. 정수란 소수점 이하의 값이 없는 수이다.
(정수 예: -100, -10, -1, 0, 1, 32, ...)
실수는 `double`로 표시한다. 실수란 소수점 이하 값이 있는 수이다.
## 3. 연산자(operators)
연산자란 연산을 수행하는 기호이다.

대표적인 연산자는 아래와 같다.
+ 대입: `=`
+ 덧셈: `+`
+ 뺄셈: `-`
+ 곱셈: `*`
+ 나눗셈: `/`
아래 코드는 연산자의 사용 예이다.
```
int a = 100; // 100을 a변수에 대입
int b = 20; // 20을 b변수에 대입
int result = a + b; // a와 b의 값을 더하고, 이를 result에 대입
```
특별히 `=` 연산자에 대해 좀 더 알아보자. 수학에서는 "같다"라는 의미로 사용했지만 C언어에서는 "대입한다" 라는 의미이다. 대입 연산자의 동작은 아래와 같다.
+ 오른쪽 수식의 결과를 왼쪽 변수에 대입한다.
## 요약
1. 변수: 이름지어진 메모리 공간
2. 타입: 변수의 형태
3. 연산자: 연산 기호, 우선순위 존재