ÄÞ¸¶ ¿¬»êÀÚ(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 |
ÄÞ¸¶¿¬»êÀÚ |
, |