차례: 증가 연산자 감소 연산자 단축형 표현다음 네 가지 명령은 변수 a 을 값을 1 증가시키는 같은 표현이다.
용어단독으로 사용할 경우 postfix,prefix 둘 중 어떤 것을 사용해도 무방하나 이 연산자를 주는 개념으로 사용되는 경우 주의를 요한다.
- 후위(postfix)표현
- ++ 연산자가 변수 뒤에 나오는 경우 , a++
- 전위(prefix)표현
- ++ 연산자가 변수 앞에 나오는 경우 , ++a
같이 사용할 경우 수행 순서는
대입 연산 전 전위 연산 수행 증감 연산자를 없앤고 대입 후위 연산자 수행(보기 1) 다음과 같이 사용된 경우c = ++a + ++b - c++;내부적으로 실행되는 순서는++a ; ++b; //전위 연산 먼저 수행후 c = a + b - c; //대입 c++; // 후위 연산(보기2) a 가 1 인 경우(보기3) cnt 가 1 인 경우
- b = ++a; // a 는 2 , b 는 2
- b = a++; // b 는 1 , a 는 2
- a[++cnt] = 1; // cnt 는 2 , a[2] = 1
- a[cnt++] = 1; // a[1] = 1 , cnt 는 2
변수 a 의 내용을 1 감소하는 a=a-1 의 감소 연산자 표현a--; 혹은 --a;다른 사항은 증가 연산자와 동일 하다.
대입 연산자 왼쪽에 있는 변수를 왼쪽 값(left value)이라하여 l-value 라하고 , 오른쪽에 있는 변수 혹은 식을 오른쪽 값이라 하여 r-value 라 한다. r-value 에 l-value 가 있는 경우보내 더 간략하게 표시할 수 있다.
- 오른쪽에 있는 l-value 를 없애고
- 연산자를 대입연산자 앞으로
몇 가지 예를 보면 ,
- a = a + 2; //일반적 표현
- a += 2; // 단축형 표현
- a = a % 3;
- a %= 3;
- a = a*(b+c);
- a *= b+c;
출처:dovelet