C

++a와 a++의 차이

지창준 2023. 10. 30. 13:57

자주 헷갈리는 증가연산자 (전위, 후위)

 

 

++a의 경우

 a값 증가 후 증가된 값 반환 (연산 후 대입)

 

예를 들어

int a = 1;

int b = 1;

 

b = ++a;

 

a = 2, b = 2 이 된다

(a의 값을 증가시킨 후 b에 대입)

 

 

a++의 경우

a의 현재 값 반환 후 값 증가 (대입 후 연산)

 

예를 들어

int a = 1;

int b = 1;

 

b = a++;

 

a = 2, b = 1 이 된다

(a를 b에 대입후 a의 값 증가)

 

 

같이 쓰일 경우

int a = 1;

int b = 1;

 

b = ++a;

(a값을 증가 시킨후 b에 대입하였기 때문에 a = 1, b = 1)

a = b++;

(a에 b값을 대입한후 b이 값을 증가 시켰기 때문에 a = 1, b = 2)

 

최종적으로 a = 2, b = 3 이 된다

'C' 카테고리의 다른 글

폼(Form) 추가 생성 및 호출 (C++)  (0) 2024.08.16
extern (외부변수)  (0) 2023.12.27
포인터(pointer)와 배열(array)의 차이 (수정 예정)  (0) 2023.12.19
포인터 심화  (0) 2023.12.14
배열의 초기화  (1) 2023.12.08