본포스팅은 윤성우의 열혈 C프포그래밍을기초로하고있으며
개인의 복습목적의 포스팅입니다
참고하시는건 좋으나 제 포스팅만으로 학습은 불가능합니다
안녕하세요 sdk입니다
반복문이나 다른거 하기전에
자주쓰이는 연산자인
++ 과 -- 연산자를 소계해드리도록 하겠습니다
이 증감연산자는
단항연산자로 써
변수와 함깨 사용됩니다
-- 은 1을 감소시킵니다
즉 -- 은 피연산자가 되는 변수의 값을 1만 감소시킵니다
++ 은 반대로 피연산자의 값을 딱 1증가시키는 연산자입니다
간단한 예제를 만들어보겟습니다
int main (void) { int num1 = 10,num2 = 20; printf("num1, num2: %d %d\n",num1,num2); num1--; num2++; printf("num1, num2: %d %d\n",num1,num2); --num1; ++num2; printf("num1, num2: %d %d\n",num1,num2); } |
간단히 설명해 드리면
변수 num1과 num2를 각각 선언했습니다
그런후 10과 20으로 초기화했죠.
처음값은 출력값과 같이
10과20으로 아직 안건든값입니다
밑으로 내려와서 num1--;과 num2++;이 있습니다
여기서 num1의 값을 감소시키고 num2는 증가시켰습니다
그래서 두번째줄엔 num1과 num2의 값이 1씩 감소하고 증가한겄이죠
그 밑라인은 --num1;이랑 ++num2;가있습니다
둘의차이점은 곧 표로 나타내겠습니다
어쨋든 이것또한 1이 감소하고 증가한다는걸 알수있습니다
그렇습니다 앞서 말한것과같이 -- ,++ 연산은 1을 감소하고 증가하는연산입니다
그런데 --num;과 num2--; 이두가지의 차이점은 무엇일까요
정답은 연산 순서를 나타내는것입니다
표로 나타내도록 하겠습니다
연산자 |
연산자의 기능 |
결합방향 |
++num |
값을 1증가후 남은 문장을 진행 (선증가,후연산) |
← |
num++ |
문장을 먼저 진행한후 값을1증가(선연산 후증가) |
→ |
--num |
값을 1감소후 남은 문장을 진행(선증가,후연산) |
← |
num-- |
문장을 먼저 진행한후 값을 1 감소(선연산 후증가) |
→ |
두가지의 차이점은 먼저 연산을 진행한뒤 1을 증가시키느냐
1을 증가시킨뒤 연산을 진행하냐입니다
즉 printf 함수와 같이사용되었을경우
printf ("%d",num++);
이문장에서 출력은 num의 증가값이아닌
원본값이 출력된다는것입니다
간단히 설명하면 printf 함수가 이미 끝난뒤 1이 증가하는 꼴이 된것입니다
선 증가 ,후 연산을 "전위 증가,전위 감소"라고 하고
선 연산,후 증가를 "후위 증가,후위 감소"라고합니다
이쯤에서 포스팅 마치겠습니다 감사합니다
'컴퓨터 > C언어' 카테고리의 다른 글
C언어 반복문 가벼운 문제 (7) | 2014.08.08 |
---|---|
[C언어] 같은지 다른지 큰걸 확인하는 관계 연산자 (0) | 2013.09.04 |
8 .(C언어 ) 컴퓨터가 데이터를 표현하는 방식 (0) | 2013.08.29 |
7.c언어 논리 연산자 (0) | 2013.07.28 |
6.c언어의 기본적인 연산자 (대입,사칙연산,복합대입) (0) | 2013.07.25 |