반응형
1. 복합 대입 연산자
복합 대입 연산자는 다른 연산자와 묶여서 정의된 연산자이다.
2. 부호 연산자로서의 + 와 -
피연산자가 하나인 단항 연산자로서의 +,- 연산자에 대해 살펴보자
1) 부호 - 연산자
- 단항 연산자로서 부호를 바꾸는 역할을 한다.
2) 부호 + 연산자
- 단한 연사자로서 아무런 기능을 제공하지 않는다.
- 그러면 연산자로 존재하는 이유는? 컴파일 오류를 발생시키지 않기 위해서이다.
- +125와 같은 표현함으로써 음수가 아님을 강조하기도 한다.
3. 증가,감소 연산자(++,--) : prefix - 전위 증감
4. 증가,감소 연산자(++,--) : postfix - 후위 증감
5. prefix와 postfix의 비교
아래 그림을 보면 피연산자에 저장된 값을 1증가시키는 것은 같으나 적용 시점이 다르다.
아래 코드의 출력 결과를 봐보자
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | int main(void) { int num1 = 7; int num2; int num3 = 7; int num4; num2 = ++num1; printf("num1: %d \n", num1);//8 printf("num2: %d \n", num2);//8 num4 = num3++; printf("num2: %d \n", num3);//8 printf("num3: %d \n", num4);//7 return 0; } | cs |
1 2 3 4 | num1: 8 num2: 8 num2: 8 num3: 7 | cs |
prefix++의 경우 먼저 값이 증가된후 대입이 이루어졌고,
postfix++의 경우 먼저 대입이 이루어진후 증가가 되었다.
6. 애매한 형태의 증가 및 감소 연산자
한 문장 안에서 동일한 변수를 가지고 두번 이상 postfix++,postfix-- 연산을 하면 결과가 컴파일러에 따라 달라진다.
따라서 아래와 같이 해석할 상황을 만들지 않는것이 좋다.
7. 콤마(,) 연산자
콤마도 연산자이다.
- 한 문장 내에서 둘 이상의 변수 선언시 사용
- 한 문장 내에서 둘 이상의 연산문 구성 시 사용
- 한 문장 내에서 둘 이상의 함수 호출문 구성시 사용
1 2 3 4 5 6 7 8 9 | int main(void) { int a=1, b=2; a++, b++, printf("postfix ++ 연산 실행 \n"); printf("a: %d, ", a), printf("b: %d \n", b); return 0; } | cs |
반응형
'BackEnd > C' 카테고리의 다른 글
자료형 변환 연산자 (0) | 2018.12.10 |
---|---|
관계연산자와 논리연산자 (0) | 2018.12.10 |
연산자들의 우선순위와 결합방향 (0) | 2018.12.10 |
산술 연산자를 통해서 보는 연산의 원리 (0) | 2018.12.10 |
상수의 이해 (0) | 2018.12.05 |