l
main( )
|
l
inner( )
|
ÀR ºA ÅÜ ¼Æ »P ¦Û °Ê ÅÜ ¼Æ ¤@ ¼Ë ¡A ¬O ¬Y ¯S ©w ¨ç ¼Æ ¤º ªº °Ï °ì ©Ê ÅÜ ¼Æ ¡A ¦ýÀR ºA ÅÜ ¼Æ ªº È ¤£ ·| ¦] ¨ç ¼Æ ªº
°õ ¦æ µ² §ô ¦Ó ®ø ¥¢ ¡C
|
ÀR ºA ÅÜ ¼Æ ªº «Å §i ¦p
¤U ©Ò ¥Ü ¡G { |
Example 1: main() { increment(); increment(); increment(); } increment() { int x=0; x=x+1; printf("%d\n",x); } Result = ????? |
Example 2: main() { increment(); increment(); increment(); } increment() { static int x=0; x=x+1; printf("%d\n",x); } Result = ????? |
¥~
³¡ ÅÜ ¼Æ ©M «e ± ©Ò ´£ ¨ì ªº ÅÜ ¼Æ ¤£ ¦P ¡C ¥~ ³¡ ÅÜ ¼Æ ªº ¦³ ®Ä ½d ³ò ¤£ ¬O °Ï °ì ©Ê ¡A ¦Ó ¬O ¾ã Åé ©Ê ( global ) ¡A ¥~ ³¡ ÅÜ ¼Æ ©w ¸q ¦b ¥ô ¦ó ¨ç ¼Æ ªº ¥~ ± ¡A ªí ¥Ü ¥i ¥H ³Q ¨ä ¥L ¨ç ¼Æ ©Ò ¦@ ¥Î ¡C
|
Example 1: int x=123; main()
Result = ????? |
Example 2: int x=123; main() } Result = ????? |
|
Example 3: #include
< stdio.h > int x=123; |
extern.c
¤º ®e ¦p ¤U : Result = ????? |
|
/* ======================================== */ /* µ{¦¡¹ê¨Ò:
*/ /* §½³¡(local)©M¾ãÅé(Global) ÅÜ¼Æ */ /* ======================================== */ #include <stdio.h> int step = 10; /* ¾ãÅéÅܼƫŧi */ int count = 5; /* ¾ãÅéÅܼƫŧi */ /* ---------------------------------------- */ /* ±NÅܼÆÈ¥[¤@ */ /* ---------------------------------------- */ void increment() { int step = 0; /* §½³¡ÅÜ¼Æ step «Å§i */ step++; /* §½³¡Åܼƥ[¤@ */ count++; /* ¾ãÅéÅܼƥ[¤@ */ printf(" °Æµ{§Ç %2d %2d \n",step, count); } /* ---------------------------------------- */ /* ¥Dµ{¦¡ */ /* ---------------------------------------- */ void main() { int count = 0; /* §½³¡Åܼƫŧi */ count++; /* §½³¡Åܼƥ[¤@ */ step++; /* ¾ãÅéÅܼƥ[¤@ */ printf(" µ{§Ç¦W STEP COUNT \n"); increment(); /* °Æµ{§Ç©I¥s */ printf(" ¥Dµ{§Ç %2d %2d \n",step, count); }/* ======================================== */ |
|||||||||
|
°õ¦æµ²ªG
|