생선이의 잡다한 블로그
C언어 강좌 13 - 값을 1씩 증감 시켜보자! 증감연산자 본문
안녕하세요 생선스프입니다!
이번에는 증감연산자를 알아보려고 합니다
우선 시작하기 전에 연산자의 종류를 알아보도록 하겠습니다
(연산자의 이름을 누르면 해당 연산자의 강좌로 이동합니다)
산술연산자 - 사칙연산을 진행함
(복합)대입연산자 - 대입을 함
증감연산자 - 1씩 증감시킴
관계연산자 - 값을 비교
조건연산자(삼항연산자) - 조건이 참이면 앞을 실행 거짓이면 뒤를 실행
논리연산자 - 논리연산을 진행
이제 이번 강좌 시작하도록 하겠습니다
우선 증감연산자가 무엇을 하는 연산자인지 알아야겠죠
증감연산자는 값을 1씩 증가시켜주거나 1씩 감소시켜주는 연산자입니다
그렇다면 연산자도 두 개가 있겠네요
++ |
1씩 증가 |
-- |
1씩 감소 |
그리고 a 라는 변수가 있다면 ++a 혹은 a++ 이렇게 사용할 수 있습니다
이를 각각 전위, 후위 라고 합니다
전위는 값을 먼저 증가시키고, 후위는 할 거 먼저 다 하고 값을 증가시킵니다.
아마 아직 이해가 잘 안되실 겁니다
아래의 예제를 보면 이해가 될겁니다
1 2 3 4 5 6 7 8 9 10 | #include <stdio.h> void main() { int a = 0, b = 0; printf("%d\n", ++a); printf("%d\n", b++); printf("%d\n", b); } | cs |
우선 실행 결과를 보면 순서대로
1
0
1
이렇게 나옵니다
한 줄씩 살피도록 하죠
printf("%d\n", ++a); | cs |
printf("%d\n", b++); | cs |
이번에는 연산자가 뒤에 붙었습니다
그럼 할 거 먼저 다하고나서 값을 증가 시킨다 했습니다
즉, b에 값을 증가 시키기 전에 printf를 먼저 하므로 원래있던 값인 0 이 나오게 됩니다
그 후에 값은 1이 됩니다
printf("%d\n", b); | cs |
아마 이해가 되셨을거라 생각 됩니다
혹시 이해가 안되는 경우에도 설명을 몇 번더 읽어 보시거나 나중에 사용하다보면 알게 될겁니다
a++(++a) 와 a += 1 과 a = a + 1 은 모두 같습니다
하지만 작동하는 속도는 증감연산자 < 복합대입연산자 < 대입 순으로 빠릅니다
즉 간결해지면 간결해질 수록 작동 속도도 빨라진다는 것이죠
그리고 C 언어라 하면 C++ 과 C#도 있습니다
이제 왜 이런 이름이 붙었는지 알 수 있을겁니다
C++은 C에 ++을
C#은 C++에 ++을
++
++
이렇게 말이죠
그럼 이번 강좌는 마치도록 하겠습니다!
강좌 읽어주셔서 감사합니다
공감과 댓글은 생선에게 힘이됩니다!
'프로그래밍 > C언어 강좌' 카테고리의 다른 글
C언어 강좌 15 - 참이면 앞을 거짓이면 뒤를! 조건연산자(삼항연산자) (0) | 2017.04.15 |
---|---|
C언어 강좌 14 - 값을 비교하자! 관계연산자 (0) | 2017.04.14 |
C언어 강좌 12 - 연산한 값을 바로 대입하자! 복합대입연산자 대입연산자 (0) | 2017.04.12 |
C언어 강좌 11 - 사칙연산을 해보자! 산술연산자 (0) | 2017.04.11 |
C언어 강좌 10 - gets 로 입력을 받아보자! gets_s (0) | 2017.04.09 |