대입과 복합 대입 연산자 — 변수 저장과 +=·-=·*=·/=·%= | 기초 C언어 5.1.2
기초 C언어Chapter 05 연산자 › Section 01 기본 연산자 › 02
5.1.2 대입과 복합 대입 연산자
오른쪽을 먼저 계산해 왼쪽에 넣는 대입의 차례. 같은 변수가 두 번 나오는 식을 += 꼴로 줄여 쓰는 법.
01대입 연산자 — 값을 변수에 담아 두는 기호교재 123p
- 대입 연산자(Assignment Operators) — 계산의 결과를 변수에 저장하거나 변수의 값을 변경할 때 쓰는 기호. 4.2.2 에서 이름을 붙였고, == 와의 차이는 4.2.4 에서 갈라 둠.
- 담아 두어야 다시 꺼내 씀 — 계산만 해 놓고 어디에도 담지 않으면 그 값은 그 줄에서 사라짐.
- 쓰임은 둘 — 연산으로 얻은 값을 변수 공간에 넣는 경우, 이미 값이 든 변수를 다른 값으로 바꾸는 경우.
02오른쪽이 먼저, 저장이 나중교재 123p
변수 = 값 또는 변수 또는 식;
- 오른쪽을 먼저 하나의 값으로 — result = a + b; 는 a + b 를 먼저 계산해 30 을 만든 뒤, 그 30 을 result 에 저장함.
- 왼쪽에는 변수만 — 오른쪽에는 값·변수·식이 모두 오지만, 왼쪽에는 값을 담을 자리인 변수만 올 수 있음. 읽히기만 한 a·b 는 값이 그대로 남음.
전체 코드와 줄별 해설은 교재 123p CODE 5.3 에 있습니다.
03복합 대입 — 같은 변수가 두 번 나올 때교재 124p
score = score + 10;score += 10;
- 복합 대입 연산자(Compound Assignment Operators) — 산술 연산자와 대입 연산자를 하나로 합쳐 놓은 축약형. 위 두 줄은 완전히 동일한 작업임.
- 자기 값을 고쳐 다시 자기에게 — 변수 자신의 현재 값에 연산을 한 뒤 그 결과를 다시 자신에게 덮어쓰는 꼴.
04다섯 가지 축약형교재 124p
| 연산자 | 사용 예 | 같은 의미 |
|---|---|---|
| += | a += 3; | a = a + 3; |
| -= | a -= 3; | a = a - 3; |
| %= | a %= 3; | a = a % 3; |
- 다섯 모두 산술 기호 뒤에 등호 — /= 는 정수끼리면 몫만, %= 는 나머지만 남기고 정수형에만 쓸 수 있음.
여기서 자주 틀림
차례를 바꾸어 등호를 앞에 적으면 안 됨. a =+ 3 은 「3 을 더하라」가 아니라 「양수 3 을 대입하라」로 읽혀, 오류 없이 엉뚱한 값이 남음.
05축약형을 쓰는 이유교재 125p
- 줄이 짧아짐 — 변수 이름이 한 번만 나오므로, 읽는 사람이 두 이름을 견주어 볼 필요가 없음.
- 의도가 눈에 보임 — 새 값을 만들어 담는 줄인지, 있던 값을 고치는 줄인지가 기호 하나로 드러남.
이것만 기억
긴 이름을 두 번 적다가 한쪽을 잘못 치는 것이 축약형을 쓰는 가장 큰 까닭. 그런 이름이 아예 없으면 오류로 잡히지만, 비슷한 이름의 다른 변수가 있으면 그냥 지나감.
전체 코드와 실행 결과는 교재 125p CODE 5.4 에 있습니다.
이 절의 핵심 정리
- = 는 오른쪽 결과를 왼쪽 변수에 저장한다.
- 식이 있으면 그 계산이 끝난 뒤에 저장이 일어난다.
- = 왼쪽에는 값을 담을 수 있는 변수만 온다.
- a += 3 은 a = a + 3 과 완전히 같은 작업이다.
- 복합 대입은 += -= *= /= %= 다섯 가지다.
강의 자료5.1.2 대입과 복합 대입 연산자
1 / 10
번호를 누르면 해당 장으로 바로 이동합니다 · 방향키 ← → 로도 넘길 수 있습니다

댓글
댓글 쓰기