C Language/Programming Course
2장 연산자(5부 증감연산자) 첫번째 시간
행복하면
2009. 6. 26. 00:59
2장 연산자
5부 증감 연산자
5부 증감 연산자
이번시간에는 증감 연산자에 대해서 알아 보겠습니다.
증감 연산자는 내용은 쉬운데, 조금 헷갈릴수가 있고, 그리고 기호도 처음 c언어를
접하시는 분이라면, 처음 보는 기호 일수도 있기 때문에 조금은
신경 써서 보셔야 될 것 같습니다.
이 증감 연산자도 사용을 많이 하기 때문에 잘 알아 두면,
사용하는데 불편함이 없을꺼 같습니다.
먼저 증감연산자에 대해서 간단하게 말을 한다면
증감 연산자는 말그대로 증가 감소하는 연산자 입니다.
증가 감소는 많이 하는 것이 아니라 단 1을 증가 하고 감소 한다는 것입니다.
증감 연산자 기호로는 ++, -- 를 사용합니다.
이 ++ 이나 --의 의미는 +1. -1의 의미를 가지고 있습니다.
즉, 코드를 보면서 설명을 하면
int test = 5;
int test2 = 5;
test++;
test2+=1;
test나 test2를 보면 결과는 같게 나옵니다.
더하는 연산이 아닌 빼는 연산도 하면 같은 결과가 나오게 됩니다.
코드를 더 보면
int test = 5;
test++;
printf("%d\n", test);
test--;
printf("%d\n", test);
이렇게 결과처럼 증감연산자는 1을 더하고 빼는 형태 입니다.
이 예제는 위에서 설명한 내용을 이해 하셨다면 쉽게 알 수 있을 것입니다.
간단하게 정리를 하면
test++ 는 test+1과 같은 의미로 생각하고
test-- 는 test-1과 같은 의미로 생각하면 될 것입니다.
그리고 이 증감연산자는 중요한 것이 있습니다.
이 것을 꼭 알아야지 나중에 헷갈리지 않고 사용을 할 수 있습니다.
그것은 변수 앞에 쓰는 것과 변수 뒤에 쓰는 것과 결과가 큰 차이가 있다는 것입니다.
그 차이는 밑의 코드를 보면서 설명을 드리겠습니다.
int test = 5;
int test2 = 5;
printf("%d", test++);
printf("%d", ++test2);
이 코드에서 차이를 보게 되면
++가 앞에 있고, 뒤에 있고 차이 밖에 없습니다.
그리고 똑같이 1이 증가합니다.
하지만 이 위치의 차이로 값의 증가 됨이 달라지게 됩니다.
무슨말이냐 하면
test++을 보면 증감연산자가 변수 뒤에 있습니다.
이는 현재 값을 가지고 먼저 작업을 한 뒤에 1을 증가 시키겠다.
라는 말입니다. 즉, 5를 출력 시키고 1을 증가 시키겠다는 뜻입니다.
그리고 이 증감연산자를 후위형이라고 합니다.
그리고 ++test2을 보면 증감연산자가 변수 앞에 있을 경우는
이 뜻은 작업을 하기전에 먼저 1을 증가 시킨 후에 작업을 한다는
것입니다. 즉 1을 증가 시켜 6을 만든 후에 출력을 한다는 뜻입니다.
그리고 이 증감연산자를 전위형이라고 합니다.
--도 같은 동작을 합니다.
방금 한 변수 앞 뒤의 증감 연산자가 있고 없고의 차이만 확실히
알아 두어야 나중에 배우는 여러 함수를 사용할 때 편리 할 것입니다.
다음 시간에는 포인터 연산자, 구조체 연산자, 비트 연산자,
논리 연산자에 대해서 배워 보도록 하겠습니다.
증감 연산을 사용한 예제
===========================================
#include <stdio.h>
int main()
{
int integer1 = 5;
int integer2 = 5;
int integer3 = 5;
int integer4 = 5;
printf("결과 : %d\n", integer1++);
printf("결과 : %d\n", ++integer2);
printf("결과 : %d\n", integer3--);
printf("결과 : %d\n", --integer4);
return 0;
}
===========================================