ÄÞ¸¶ ¿¬»êÀÚ

ÄÞ¸¶ ¿¬»êÀÚ(Comma operator)´Â ³ª¿­ ¿¬»êÀÚ¶ó°íµµÇÏ¸ç ¼º°ÝÀÌ µ¿ÀÏÇÑ ÀÚ·áÇüÀ» ³ª¿­ÇÒ ¶§ »ç¿ëµË´Ï´Ù.

¡¼¼Ò½º ÇÁ·Î±×·¥¡½

#include <stdio.h>

int main(void){

  int a=10;       // ¨ç

  int b=15;       // ¨è

  int c=18;       // ¨é

  int result;               // ¨ê

  result = a * (b++, c=b+4);

  printf("¿¬»ê °á°ú : %d", result);

}

 

¡¼½ÇÇà °á°ú¡½

¿¬»ê °á°ú : 200

 

À§ ÇÁ·Î±×·¥¿¡¼­ ¨ç¨è¨é¨ê¹ø¹®ÀåÀº int a=10, b=15, c=20, result·Î °£´ÜÇÏ°Ô Ç¥ÇöÇÒ ¼ö ÀÖ°í, ¨ë¹ø ¹®ÀåÀº Äĸ¶ ¿¬»êÀÚÀÇ ¿¬»êÀÌ ¿ÞÂÊ¿¡¼­ ¿À¸¥ÂÊÀ¸·Î ¼öÇàµÇ¹Ç·Î b++ ¼öÇà ÈÄ¿¡ c=b+4°¡ 󸮵ȴÙ. b°¡ 15¿¡¼­ 1 Áõ°¡ÇÏ¿© 16ÀÌ µÇ°í, 4¸¦ ´õÇÏ¿© c¿¡ ÀÔ·ÂÇϹǷΠc´Â 20ÀÌ ±â¾ïµË´Ï´Ù. Áï, (b++, c=b+4) ¿¬»êÀÇ °á°ú´Â 20À̰í ÀÌ 20¿¡ a¸¦ °öÇϹǷΠresult¿¡´Â 200ÀÌ ±â¾ïÀÌ µË´Ï´Ù.

¹°·Ð ÀÌ ¿¹Á¦´Â ÄÞ¸¶ ¿¬»êÀÚ¸¦ ¼³¸íÇϱâ À§ÇÑ °ÍÀÌ°í ½ÇÁ¦·Î ÀÌ·¸°Ô ÇÁ·Î±×·¡¹ÖÇÏ´Â °ÍÀº ¹Ù¶÷Á÷ÇÏÁö ¾Ê½À´Ï´Ù.

 

result = a * (b++, c=b+4); ´ë½Å¿¡

b++;  c=b+4;   result=a*c;  ÀÌ·¸°Ô ÇÏ´Â °ÍÀÌ ¹Ù¶÷Á÷ÇÕ´Ï´Ù.

 

 

 


 

¡¼¿¬»ê ¼øÀ§¡½

¼ø¼­

Á¾·ù

¿¬»êÀÚ

°áÇÕ¹ýÄ¢

1

1Â÷¿¬»êÀÚ

::  ()  [] .  ->

¿ÞÂÊ¿¡¼­

¿À¸¥ÂÊ

2

´ÜÇ׿¬»êÀÚ

- ++ --  ~ ! & sizeof  (type)

3

»ê¼ú¿¬»êÀÚ

* / %

¿À¸¥ÂÊ¿¡¼­

¿ÞÂÊ

4

+   -

5

ºñÆ®À̵¿¿¬»êÀÚ

<<  >>

6

°ü°è¿¬»êÀÚ

< <= > >=

7

µ¿µî¿¬»êÀÚ

== !=

8

ºñÆ®³í¸®

¿¬»êÀÚ

&

9

^

10

|

11

³í¸®¿¬»êÀÚ

&&

12

||

13

Á¶°Ç¿¬»êÀÚ

?  :

¿ÞÂÊ¿¡¼­ ¿À¸¥ÂÊ

14

´ëÀÔ¿¬»êÀÚ

= += -= *= /= &= ^= |= <<= >>=

15

ÄÞ¸¶¿¬»êÀÚ

,