티스토리 뷰
목차
1. 증감 연산자
2. 후위 연산자 (Postfix Operator)
3. 전위 연산자 (Prefix Operator)
1. 증감연산자
- 증가연산자 ++ 감소연산자 -- 로 나뉜다.
- 전위 ++n 와 후위 n++ 로 나뉜다.
- 증감 연산자만 단독으로 사용할 때는 큰 차이가 없지만 다른 변수에 할당할 때는 위치에 큰 차이가 난다.
2. 후위 연산자 (Postfix Operator)
- n++; n--;
#include <stdio.h>
int main()
{
int num1 = 2;
int num2 = 2;
int num3;
int num4;
num3 = num1++; // num1의 값을 num3에 할당한 뒤 num1의 값을 1 증가시킴
num4 = num2--; // num2의 값을 num4에 할당한 뒤 num2의 값을 1 감소시킴
printf("%d %d\n", num3, num4); // 2 2
return 0;
}
num3 = num1++;
// 풀어서 쓰면 다음과 같다.
num3 = num1;
num1 = num1 + 1;
num4 = num2--;
// 풀어서 쓰면 다음과 같다.
num4 = num2;
num2 = num2 - 1;
후위 연산자는 할당 이후에 연산을 하게 되므로 바뀌기 전의 값이 다른 변수에 할당된다. 또한 증감 연산자가 변수 뒤에 쓰이면 연산을 나중에 처리한다는 뜻이다.
3. 전위 연산자 (Prefix Operator)
- ++n; --n;
#include <stdio.h>
int main()
{
int num1 = 2;
int num2 = 2;
int num3;
int num4;
num3 = ++num1; // num1의 값을 1 증가시킨 뒤 num3에 할당
num4 = --num2; // num2의 값을 1 감소시킨 뒤 num4에 할당
printf("%d %d\n", num3, num4); // 3 1
return 0;
}
num3 = ++num1;
// 풀어서 쓰면 다음과 같다.
num1 = num1 + 1;
num3 = num1;
num4 = --num2;
// 풀어서 쓰면 다음과 같다.
num2 = num2 - 1;
num4 = num2;
전위 연산자는 할당 전에 연산을 하게 되므로 바뀐 값이 다른 변수에 할당된다. 또한 증감 연산자가 변수 앞에 쓰이면 연산을 먼저 처리한다는 뜻이다.
변수에 할당하지 않고 함수의 인수로 사용했을 때도 동작 방식은 같다.
<후위연산자를 사용했을 때>
#include <stdio.h>
int main()
{
int num1 = 2;
int num2 = 2;
printf("%d %d\n", num1++, num2--); // 2 2: num1, num2의 값을 먼저 출력한 뒤 증감 연산자 동작
printf("%d %d\n", num1, num2); // 3 1: 증감 연산자가 동작한 결과
return 0;
}
실행결과
2 2
3 1
<후위연산자를 사용했을 때>
#include <stdio.h>
int main()
{
int num1 = 2;
int num2 = 2;
printf("%d %d\n", num1++, num2--); // 2 2: num1, num2의 값을 먼저 출력한 뒤 증감 연산자 동작
printf("%d %d\n", num1, num2); // 3 1: 증감 연산자가 동작한 결과
return 0;
}
실행결과
2 2
3 1
'CS > C' 카테고리의 다른 글
[C언어] 자료형, 형식 지정자, 연산자 (0) | 2023.07.25 |
---|---|
[C언어] 조건문과 루프 (0) | 2023.07.13 |
[C언어] 문자열 (0) | 2023.07.05 |
[C언어] C 기초 (1) | 2023.07.02 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- javascript
- 스프린트프론트엔드6기
- html
- arguments
- map
- hydrationboundary
- tanstackquery
- CSS
- 프론트엔드
- 코드잇스프린트
- 유사배열객체
- 비동기
- innerhtml
- Target
- 객체
- 리액트
- Git
- GitHub
- rest parameter
- 동기
- 취업까지달린다
- react
- 배열
- js
- Next.js
- 제어 컴포넌트
- currentTarget
- 중급 프로젝트
- 비제어 컴포넌트
- 코드잇 스프린트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함