728x90
복합 대입 연산자는 기본적인 산술 연산자와 대입 연산자를 결합한 것입니다. 예를 들어, a = a + b 라는 식은 a += b 로 간단하게 표현할 수 있습니다. 이렇게 하면 코드가 짧아지고 가독성이 높아집니다.
복합 대입 연산자는 다음과 같은 종류가 있습니다.
| += | 왼쪽 피연산자에 오른쪽 피연산자를 더하고 그 결과를 왼쪽 피연산자에 대입합니다. |
| -= | 왼쪽 피연산자에서 오른쪽 피연산자를 빼고 그 결과를 왼쪽 피연산자에 대입합니다. |
| *= | 왼쪽 피연산자에 오른쪽 피연산자를 곱하고 그 결과를 왼쪽 피연산자에 대입합니다. |
| /= | 왼쪽 피연산자를 오른쪽 피연산자로 나누고 그 몫을 왼쪽 피연산자에 대입합니다. |
| %= | 왼쪽 피연산자를 오른쪽 피연산자로 나누고 그 나머지를 왼쪽 피연산자에 대입합니다. |
| <<= | 왼쪽 피연산자의 비트를 오른쪽 피연산자만큼 왼쪽으로 이동하고 그 결과를 왼쪽 피연산자에 대입합니다. |
| >>= | 왼쪽 피연산자의 비트를 오른쪽 피연산자만큼 오른쪽으로 이동하고 그 결과를 왼쪽 피연산자에 대입합니다. |
| &= | 왼쪽 피연산자와 오른쪽 피연산자의 비트별 AND 연산을 하고 그 결과를 왼쪽 피연산자에 대입합니다. |
| |= | 왼쪽 피연산자와 오른쪽 피연산자의 비트별 OR 연산을 하고 그 결과를 왼쪽 피연산자에 대입합니다. |
| ^= | 왼쪽 피연산자와 오른쪽 피연산자의 비트별 XOR 연산을 하고 그 결과를 왼쪽 피연산자에 대입합니다. |
복합 대입 연산자는 다음과 같은 규칙을 따릅니다.
- 복합 대입 연산자는 우선 순위가 낮으므로 다른 연산이 끝난 후에 수행됩니다.
- 복합 대입 연산자는 결합 방향이 오른쪽에서 왼쪽이므로 여러 개가 나열되면 오른쪽부터 계산됩니다.
- 복합 대입 연산자는 다시 대입할 수 없습니다.
복합 대입 연산자의 사용 예시는 다음과 같습니다.
#include <stdio.h>
int main(void)
{
int a = 10, b = 5;
a += b; // a = a + b
printf("a = %d\n", a); // a = 15
a -= b; // a = a - b
printf("a = %d\n", a); // a = 10
a *= b; // a = a * b
printf("a = %d\n", a); // a = 50
a /= b; // a = a / b
printf("a = %d\n", a); // a = 10
a %= b; // a = a % b
printf("a = %d\n", a); // a = 0
return 0;
}
복합 대입 연산자는 코드를 간결하고 효율적으로 만들어주는 유용한 도구입니다. 하지만 복잡한 식에 사용하면 가독성이 떨어질 수 있으므로 적절하게 사용하는 것이 중요합니다.
복합 대입 연산자는 우선 순위가 낮기 때문에 괄호를 잘 사용해야 합니다. 복합 대입 연산자는 가변적인 값에만 사용할 수 있습니다. 즉, 상수나 리터럴에는 사용할 수 없습니다. 예를 들어, 5 += 3 이라는 수식은 올바르지 않습니다. 왜냐하면 5라는 값은 변할 수 없는 상수이기 때문입니다.
마지막으로 복합 대입 연산자는 연산의 결과가 피연산자의 자료형에 맞게 변환되므로 형 변환에 주의해야 합니다.
이상으로 c언어 복합 대입 연산자에 대한 글을 마칩니다. 감사합니다.
'Computer > C, C++' 카테고리의 다른 글
| C++ 언어 강력한 도구인 클래스의 멤버와 접근 제한자 (0) | 2023.07.15 |
|---|---|
| C언어에서 클래스를 사용하는 방법 (0) | 2023.07.13 |
| C언어 포인터 (0) | 2023.07.06 |
| C언어 if문, while문, for문 (0) | 2023.06.29 |
| C 언어 기초 (0) | 2023.05.14 |