본문 바로가기
배운 것들 메모/따라 배우는 C언어

[홍정모의 따라하며 배우는 C언어] 5.8 증가(++), 감소(—) 연산자

by 야속한 낭만 2024. 9. 9.

1. 후위 연산자(postfix operator)

 

int main()
{
	int a = 0;
	a++;
}

 

2. 전위 연산자(prefix operator)

int main()
{
	int a = 0;
	++a;
}

 

 

a = a + 1 or a + = 1 비슷하게 작동을 한다.

 

헷갈릴 때 이 블로그에 있는 그림을 꼭 참고하도록 하자.

 

  • 증가 연산자(++a, a++)도 마찬가지로, 주요 기능은 값을 반환하는 것. 하지 , 부수 효과는 변수를 1만큼 증가시키는 것이다.
  • C언어는 증감 연산자는 곱셈 나눗셈보다 우선 순위가 높다.

 

3. 전위와 후위 연산자의 차이를 알아보자.

int main()
{
int i = 3;
int l = 2 * --i;
printf("%d %d\n", i, l);
}

여기서 전위 연산자는

전위 연산자 예시

 

이렇게 곱셈보다 우선순위가 높다는 것을 알 수 있다.
출력하면 4가 나온다.

 

후위 연산자는 다르다.

int main()
{
	int i = 1;
	int l = 0;
	l = 2 * i--;
	printf("%d %d\n", i, l);
}

 

후위 연산자 예시

i는 2 * 1을 한 후 l에 넣고 나서 후위 연산자 — 가 작동한다.
그래서 결과값이 i는 0 l은 2가 된다.

 

 

  • C와 C++에서 증가 & 감소 연산자는 Lvalue에서만 쓸 수 있다.
  • 수식을 다 붙여서 썼을 때 해결 방법

int y = n/2+2+5*(1+n++); 

이런 식으로 썼다고 하자.

 

Ctrl + x → Ctrl + v 해주면
   

int y = n / 2 + 2 + 5 * (1 + n++); 으로 비쥬얼 스튜디오가 알아서 바꿔준다.

 

출처:  홍정모의 따라배우는 C언어

강의 외의 추가된 것들은 책 그리고 인터넷 조사해서 얻었음