1ν•™λ…„ (2023)/C μ–Έμ–΄

[C] Study : μˆ˜μ‹κ³Ό μ—°μ‚°μž - (3) λŒ€μž… μ—°μ‚°μž

waterproof 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κ³Ό κ°™λ‹€.