Programming Language/C Language

[C] Study : 수식과 연산자 - (3) 대입 연산자

gapsoo 2023. 8. 21. 11:49

 

 

 

 

 


 대입(할당, 배정) 연산자 (assignment operator): 변수에 값을 저장하기 위하여 사용하는 연산자

 

 기능: 오른쪽에 있는 수식의 값을 계산하여, 왼쪽의 변수에 저장한다.

 

 

 수학에서는 =이 등호이지만, C에서는 변수에 값을 대입하는 의미로 사용된다.

 

 다음의 문장은 수학적으로 보면 잘못된 문장이다. x는 x+1과 같을 수 없다.

 

 그러나 C에서는 가능한 문장이다.

 

x = x + 1;

 

위의 문장의 의미는 변수 x의 값에 1을 더하여 그 결괏값을 다시 변수 x에 대입하라는 것이다.

 

대입 연산자는 연속해서 사용될 수 있다. 예를 들어서 변수 x, y, z에 0을 대입하는 문장은 다음과 같이 작성될 수 있다.

 

x = y = z = 0;

 

• z = 0이 먼저 실행되고 이 수식의 값인 0이 다시 y에 대입된다. x에도 0이 대입된다.

 

 

 


복합 대입 연산자

 

복합 대입 연산자란  +=처럼 대입 연산자 =와 산술 연산자를 합쳐 놓은 연산자이다.

 

x += y의 의미는 x = x + y와 같다.

 

복합 대입 연산자는 소스를 간결하게 만들 수 있다. 다음 표는 가능한 복합 대입 연산자들을 보여주고 있다.

 

복합 대입 연산자

 

 

#include <stdio.h>

int main(void)
{
	int x = 10, y = 10;
	printf("x = %d y = %d \n", x, y);
    
   
	x += 1;
	printf("(x += 1)이후 x = %d \n", x);
	y *= 2;
	printf("(y *= 2)이후 y = %d \n", y);
    
	return 0;
}

 

 

프로그램 설명

line 9: 복합 대입 연산자 +=를 사용하여 연산을 수행한다. x = x + 1과 같다.
line 11: 복합 대입 연산자 *=를 사용하여 연산을 수행한다. y = y * 2과 같다.