C 수학 증감연산 - sonkoni/Koni-Wiki GitHub Wiki

증감연산

x++             증가 연산자(뒤, 후위)
x--             감소 연산자(뒤, 후위)
++x             증가 연산자(앞, 전위)
--x             감소 연산자(앞, 전위)

정수 1을 더한다. 다만 postfix 의 경우 할당에 주의해야 한다.
보통은 할당연산자와 증감연산자를 함께 사용하지 않는다. 왜냐면 헷갈리니까. 차라리 b = a + 1; 그냥 이렇게 적는 것이 명확하다. 그러나 for 등에서 증감 처리 구문에서는 빈번하게 쓰이므로 특징을 정확하게 숙지하고 있어야 한다.

int a = 3;
int b;

b = a++;
printf("a:%d, b:%d\n", a, b);
// postfix 는 a 를 할당한 다음 증가하기 때문에
// b 에는 증가하기 전의 값이 들어간다.
// a:4, b:3

b = ++a;
printf("a:%d, b:%d\n", a, b);
// prefix 는 a 를 증가시킨 다음에 할당하기 때문에
// b 에는 증가한 a와 동일한 값이 들어간다.
// a:5, b:5

float num = 3.5f;
num++;
printf("num: %f\n", num);
// 실수도 ++ 는 정수 영역만 1 증가시킨다.
// num: 4.500000

char c = 'b';
c++;
printf("char: %c\n", c);
// char 도 사실은 정수로 저장되기 때문에 증감연산자 사용 가능
// char: c