달력

12

« 2019/12 »

  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  


 

증감 연산자(increment and decrement operators)

·       변수에 저장되어 있는 값을 1씩 증가 혹은 감소시킬 때 사용하는 연산자입니다.

·       모든 수치 데이터 형식과 열거형식에서 사용합니다.

·       ++ 또는 -- 연산자가 변수 앞에 위치하느냐? 아니면 변수 뒤에 위치하느냐? 에 따라 값이 달라질 수 있으므로 증감연산자를 사용하실 때는 항상 주의하셔야 합니다.

 

 

증감 연산자 종류

피연산자가 단 하나뿐인 단항 연산자입니다.

연산자

의미

++

피연산자의 값을 1 증가

--

피연산자의 값을 1 감소

 

 

코드를 간결하게하고 속도를 향상시킬 수 있지만 이것이 오히려 가독성을 저해할 수 있으며, 피연산자의 위치에 따라 결과가 다르게 나올 수 있기 때문에 주의해야 합니다.

증감 연산자

설명

++a

선 증가, 후 연산 (먼저 증가하고 그 다음 연산)

a++

선 연산, 후 증가 (먼저 연산하고 그 다음 증가)

--a

선 감소, 후 연산 (먼저 감소하고 그 다음 연산)

a--

선 연산, 후 감소 (먼저 연산하고 그 다음 감소)

 

 

 

증감 연산자 prefix/postfix 기능

전위/후위  연산자에 따라 달라지는 result 값을 확인합니다.

후위 연산자의 증가 또는 감소한 값은 다음 라인 부터 적용됩니다.

연산자

연산자 기능

연산 과정

result

++(prefix)

·       피연산자의 값을 1 증가

 

n=7

result = ++n

 

·       선 증가, 후 연산 (먼저 증가하고 그 다음 연산)

++7 -> 8 -> result = 8

8

--(prefix)

·       피연산자의 값을 1 감소

 

n=7

result = --n

 

·       선 감소, 후 연산 (먼저 감소하고 그 다음 연산)

--7 -> 6 -> result = 6

6

(postfix)++

·       피연산자의 값을 1 증가

 

n=7

result = n++

 

·       선 연산, 후 증가 (먼저 연산하고 그 다음 증가)

result = 7 -> 7++ -> 8

7

(postfix)--

·       피연산자의 값을 1 감소

 

n=7

result = n--

 

·       선 연산, 후 감소 (먼저 연산하고 그 다음 감소)

result = 7 -> 7-- -> 6

7

 

 

 

증감 연산자 선행/후행 실행후 결과값 확인

증감연산자 후행에서는 증가/감소값이 해당 연산 수행문에서는 적용이 되지 않고

다음 문장 부터 적용(다음 연산 부터 적용)이 되게 됩니다. (주의)

 

Posted by codedragon codedragon

댓글을 달아 주세요

   

변수의 시작 주소와 &연산자

변수의 시작주소

변수 앞에 &를 붙이면 변수의 시작 주소를 알 수 있습니다

#include <stdio.h>

int main(void){

   int a=3;

   int b=4;

   printf("a의 값: %d \n",  a);

   printf("b의 값: %d \n",  b);

   

   printf("변수 a의 시작 주소: %x \n", &a);

   printf("변수 b의 시작 주소: %x \n", &b);

   return 0;

}

 

Posted by codedragon codedragon

댓글을 달아 주세요