±â¾ï Ŭ·¡½º

º¯¼ö´Â ÀڷḦ ÀúÀåÇϱâ À§ÇÏ¿© ±â¾ïÀå¼Ò¿¡ ÇÒ´çµÈ ÁÖ¼ÒÀÇ À̸§ÀÔ´Ï´Ù. µû¶ó¼­ º¯¼ö´Â ¾î¶°ÇÑ ÀڷḦ ±â¾ï½Ã۴°¡¿¡ µû¶ó¼­ ÀÚ·áÇüÀÌ °áÁ¤µÇ°í, ±â¾ïµÇ´Â ÀÚ·á°¡ ¸Þ¸ð¸®¿¡ ¾ó¸¶³ª ³²¾Æ Àִ°¡¿¡ ÀÇÇØ¼­ »ýÁ¸±â°£ÀÌ °áÁ¤µË´Ï´Ù. ±â¾ïµÇ´Â ÀÚ·á´Â ÇÁ·Î±×·¥ÀÌ Á¾·áµÉ ¶§±îÁö »ç¿ëµÇ´Â °ÍÀÌ ÀÖ°í, ÀÏÁ¤ ºÎºÐ¿¡¼­¸¸ »ç¿ëµÇ°í ±× ÀÌ»ó ÇÊ¿ä¾ø´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. ÀÀ¿ëÇÁ·Î±×·¥¿¡¼­ »ç¿ëµÈ ÀÚ·á°¡ ±× ÀÀ¿ëÇÁ·Î±×·¥ÀÌ Á¾·áµÇ¾ú´Âµ¥µµ ¸Þ¸ð¸®¿¡ ±×´ë·Î ³²¾ÆÀÖ´Ù´Â °ÍÀº ºÒÇÊ¿äÇÒ »Ó¸¸ ¾Æ´Ï¶ó °æ¿ì¿¡ µû¶ó¼­±Ù ¸¹Àº ¹®Á¦¸¦ ¾ß±â½Ãŵ´Ï´Ù. ±×·¡¼­ ´ç¿¬È÷ ƯÁ¤ ÀÀ¿ëÇÁ·Î±×·¥¿¡¼­ »ç¿ëµÈ ¸Þ¸ð¸®´Â ±× ÀÀ¿ëÇÁ·Î±×·¥ÀÌ Á¾·áµÇ¸é ¸Þ¸ð¸®¿¡¼­ »èÁ¦µÇ¾î¾ß ÇÕ´Ï´Ù.

 

¶ÇÇÑ ¾î¶² ÀÀ¿ëÇÁ·Î±×·¥À» ÇϳªÀÇ ´ÜÀ§(ÇÔ¼ö ¶Ç´Â ÇÁ·Î½ÃÁ®)¿¡¼­ ÀüºÎ ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù¸é ÁÁ°ÚÁö¸¸ ´ëºÎºÐÀÇ ÇÁ·Î±×·¥Àº ¿©·¯°³ÀÇ ´ÜÀ§ÀÎ ÇÔ¼ö°¡ ¸ð¿©¼­ ÇϳªÀÇ ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ÀÛ¼ºµÈ´Ù.

¾î¶² ÇÔ¼ö°¡ ½ÇÇàµÇ°í Á¾·áµÇ¸é ±× ÇÔ¼ö ³»¿¡¼­ »ç¿ëµÇ¾ú´ø º¯¼ö´Â ¸Þ¸ð¸®¿¡¼­ ¼Ò¸êµÇ¾î¾ß ÇÏ°í ¾î¶² º¯¼ö´Â ÀÀ¿ëÇÁ·Î±×·¥ÀÌ Á¾·áµÉ ¶§±îÁö ¾î¶² ÇÔ¼ö¿¡¼­µçÁö »ç¿ëÇØ¾ß ÇÏ´Â °æ¿ì°¡ ÀÖ´Ù. ÀÌ·¯ÇÑ º¯¼ö´Â ƯÁ¤ ÇÔ¼ö°¡ Á¾·áµÇ´õ¶óµµ ¸Þ¸ð¸®¿¡ ±×´ë·Î ³²¾Æ ÀÖ¾î¾ß ÇÕ´Ï´Ù. ÀÌó·³ º¯¼ö´Â Çʿ信 µû¶ó¼­ »ýÁ¸°ú ¼Ò¸êµÇ´Â ±× »ýÁ¸ ±â°£ÀÌ ´Þ¶ó¾ß ÇÕ´Ï´Ù. º¯¼ö´Â ¡º»ýÁ¸±â°£(scope)¡»¿¡ µû¶ó¼­ ¿©·¯°¡Áö·Î ³ª´¯´Ï´Ù.

1.   scope¿¡ µû¸¥ º¯¼öÀÇ Á¾·ù

¡×  Áö¿ªº¯¼ö, ÀÚµ¿º¯¼ö(local variable, auto variable)

    ÇÔ¼ö ³»¿¡¼­ ¼±¾ðµÇ°í ÇÔ¼ö ³»¿¡¼­¸¸ ÂüÁ¶µÇ¸ç ÇÔ¼ö°¡ Á¾·áµÇ¸é ¼Ò¸êµÇ´Â º¯¼ö

¡×  Àü¿ªº¯¼ö(global variable)

ÇÔ¼ö ¹Û¿¡¼­ ¼±¾ðµÇ°í ¾î¶² ÇÔ¼ö¿¡¼­µçÁö ÂüÁ¶ÇÒ ¼ö ÀÖ´Â º¯¼ö

¡×  Á¤Àûº¯¼ö(static variable)

  ÇÔ¼ö ³»¿¡¼­ ¼±¾ðµÇ°í, ±× ÇÔ¼ö°¡ Á¾·áµÇ¾îµµ ¼Ò¸êµÇÁö ¾Ê°í °è¼Ó ÂüÁ¶ÇÒ ¼ö ÀÖ´Â º¯¼ö

 

¡¼01¡½ Áö¿ª º¯¼ö

¡ºÁö¿ªº¯¼ö(local variable, ÀÚµ¿º¯¼ö)¡»´Â ÇÔ¼ö ³»¿¡¼­ ¼±¾ðµÇ°í, ±× ÇÔ¼ö°¡ È£ÃâµÉ ¶§ ±â¾ï°ø°£ÀÌ ÇÒ´çµÇ°í ÇÔ¼ö°¡ ¸®Å쵃 ¶§ ¸Þ¸ð¸®¿¡¼­ »ç¶óÁö´Â º¯¼öÀÔ´Ï´Ù. ÇÔ¼ö°¡ ¸®Å쵃 ¶§ º¯¼ö´Â ¼Ò¸êµÇÁö¸¸ ±× º¯¼öÀÇ ÁÖ¼Ò¿¡ ±â¾ïµÇ¾î ÀÖ´ø °ªÀº ±×´ë·Î ³²¾ÆÀÖ°Ô µË´Ï´Ù. º¯¼ö°¡ ¼Ò¸êµÈ´Ù´Â °ÍÀº º¯¼ö¿¡ ±â¾ïµÇ¾î ÀÖ´Â °ªÀÌ Áö¿öÁö´Â °ÍÀÌ ¾Æ´Ï¶ó ±× º¯¼ö¸¦ ÂüÁ¶ÇÏ´Â ÁÖ¼Ò¸¸ Áö¿öÁý´Ï´Ù. ±×·¡¼­ °á±¹ º¯¼ö¸¦ ÂüÁ¶ÇÒ ¼ö ¾ø±â ¶§¹®¿¡ º¯¼ö¿¡ ±â¾ïµÇ¾î ÀÖ´Â °ªÀÌ Áö¿öÁö´Â °Í°ú ¸¶Âù°¡ÁöÀÔ´Ï´Ù. µû¶ó¼­ ±× ±â¾ï°ø°£ÀÌ ÀçȰ¿ëµÇ¾î ´Ù¸¥ ÇÔ¼ö¿¡ ÇÒ´çµÇ¾úÀ» ¶§ ±× °ªÀº ¾²·¹±â °ªÀÌ µÉ °ÍÀÔ´Ï´Ù.

Áö¿ªº¯¼ö¸¦ ¼±¾ðÇÒ ¶§´Â º¯¼ö ¼±¾ð¹® ¾Õ¿¡ auto Ű¿öµå¸¦ ºÙ¿©¼­ ¼±¾ðÇÕ´Ï´Ù. ±×·¯³ª ÇÁ·Î±×·¥¿¡¼­ »ç¿ëÇÏ´Â ´ëºÎºÐÀÇ º¯¼ö´Â Áö¿ªº¯¼öÀ̹ǷΠŰ¿öµå¸¦ »ý·«ÇÏ°í ¼±¾ðÇϸé Áö¿ªº¯¼ö·Î ¼±¾ðµÇ°í auto¸¦ »ç¿ëÇÏÁö ¾Ê°í ¼±¾ðÇÏ´Â °ÍÀÌ ÀϹÝÀûÀÎ ¼±¾ð ¹æ¹ýÀÔ´Ï´Ù.

 

¡¼Çü½Ä¡½

ÀÚ·áÇü º¯¼ö¸í;

auto ÀÚ·áÇü º¯¼ö¸í;

 

 

¡¼¿¹¡½  

auto int a;

int b;

 

 

´ÙÀ½ ÇÁ·Î±×·¥À» ½ÇÇàÇÏ°í °á°ú¸¦ ¿¹»óÇÏ¿© º¾½Ã´Ù.

 

// File Number : ex0109_localVar01.c

#include<stdio.h>

int uf_add();

int uf_sub();

 

int main(void){

  uf_add();

  uf_sub();

  return 0;

}

 

int uf_add(){

  int n1,n2,sum;

  printf("µÎ Á¤¼ö ÀÔ·Â:");

  scanf("%d %d", &n1, &n2);

  sum=n1 + n2;

  printf("µÎ ¼öÀÇ ÇÕ=%d\n", sum);

}

 

int uf_sub(){

  int result, n1, n2;

  result=n1-n2;

  printf("µÎ ¼öÀÇ Â÷=%d\n", result);

  printf("n1=%d, n2=%d\n", n1, n2);

}

 

¡¼¿¹»ó °á°ú¡½

µÎ Á¤¼ö ÀÔ·Â:10 15

µÎ ¼öÀÇ ÇÕ=25

µÎ ¼öÀÇ Â÷=-5

n1=10, n2=15

 

±×·¯³ª ½ÇÁ¦ ½ÇÇà °á°ú´Â ´ÙÀ½°ú °°½À´Ï´Ù.

 

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

µÎ Á¤¼ö ÀÔ·Â:10 15

µÎ ¼öÀÇ ÇÕ=25

µÎ ¼öÀÇ Â÷=15

n1=25, n2=10

 

º¯¼ö n1, n2´Â »ç¿ëÀÚ Á¤ÀÇÇÔ¼ö uf_add()¿¡¼­ ¼±¾ðµÇ°í »ç¿ëµÇ¾ú½À´Ï´Ù. Àü¼úÇÑ ¹Ù°ú °°ÀÌ º¯¼ö n1, n2´Â Áö¿ªº¯¼öÀ̱⠶§¹®¿¡ uf_add() ÇÔ¼ö°¡ Á¾·áµÇ¸é »ç¶óÁý´Ï´Ù. µû¶ó¼­ uf_sub()¿¡¼­ »ç¿ëµÈ n1, n2´Â ´Ù¸¥ º¯¼öÀ̰í, ÀÌ º¯¼ö´Â ¼±¾ð ÈÄ¿¡ ÃʱâÈ­ µÇÁö ¾Ê¾Ò±â ¶§¹®¿¡ garbage value°¡ µé¾î ÀÖ°í, ÀÌ °ª¿¡ ÀÇÇØ¼­ °è»êÀÌ µË´Ï´Ù. º¯¼ö n1, n2¸¦ uf_add()¿Í uf_sub()¿¡¼­ °°ÀÌ »ç¿ëÇÏ·Á¸é Áö¿ª º¯¼ö°¡ ¾Æ´Ñ Àü¿ª º¯¼ö·Î ¼±¾ðÇÏ¿©¾ß ÇÕ´Ï´Ù.

 

 

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

// File Number : ex109_localVar01.c

#include<stdio.h>

int uf_add(int n1, int n2);

int uf_sub(int n1, int n2);

 

int main(void){

  int a,b,result;

  printf("µÎ Á¤¼ö ÀÔ·Â:");

  scanf("%d %d", &a, &b);

  uf_add(a,b);                                            ---------------- ¨ç

  printf("(mainÇÔ¼ö³»ÀÇ) µÎ ¼öÀÇ ÇÕ=%d\n", result);       ---------------- ¨è

 

  uf_sub(a,b);                                            ---------------- ¨é

  printf("(mainÇÔ¼ö³»ÀÇ) µÎ ¼öÀÇ Â÷=%d\n", result); );    ---------------- ¨ê

  return 0;

}

 

int uf_add(int x, int y){

  int result;

  result=x+y;

  printf("(»ç¿ëÀÚÁ¤ÀÇÇÔ¼ö ³»ÀÇ) µÎ ¼öÀÇ ÇÕ=%d\n", result);

  return 0;

}

 

int uf_sub(int x, int y){

  int result;

  result=x-y;

  printf("(»ç¿ëÀÚÁ¤ÀÇÇÔ¼ö ³»ÀÇ) µÎ ¼öÀÇ Â÷=%d\n", result);

  return 0;

}

 

µÎ ¼ö 30, 20¸¦ ÀÔ·ÂÇÑ °æ¿ì¿¡ ¨ç ¿¡¼­ uf_add(a,b);°¡ È£ÃâµÇ¸é uf_add¿¡¼­¸¸ »ç¿ëÇÏ´Â º¯¼ö x¿Í º¯¼ö y°¡ »ý¼ºµÇ°í a¿¡ ±â¾ïµÇ¾î ÀÖ´Â °ª 30ÀÌ º¯¼ö x¿¡ º¹»çµÇ°í b¿¡ ±â¾ïµÇ¾î ÀÖ´Â °ª 20ÀÌ y¿¡ º¹»çµË´Ï´Ù. ±×·± ´ÙÀ½ º¯¼ö result°¡ »ý¼ºµÇ°í x, y¸¦ ´õÇÑ °ª 50ÀÌ result¿¡ ±â¾ïµË´Ï´Ù. ±×·± ´ÙÀ½¿¡ result¿¡ ±â¾ïµÇ¾î ÀÖ´Â °ªÀÌ Ãâ·ÂÀÌ µÇ°í ÇÔ¼ö°¡ Á¾·áµÇ¸é º¯¼ö result´Â ¼Ò¸êµË´Ï´Ù.

 ¨ç¿¡¼­ result¸¦ Ãâ·ÂÇϸé uf_add()¿¡¼­ ¸¸µé¾îÁø result´Â ¾ø¾îÁ³±â ¶§¹®¿¡ main()¿¡¼­ ¸¸µç result°ªÀÌ Ãâ·ÂÀÌ µË´Ï´Ù. main() ÇÔ¼öÀÇ result¿¡´Â 0 ¶Ç´Â garbage°ªÀÌ µé¾î ÀÖ°í ±× °ªÀÌ Ãâ·ÂÀÌ µË´Ï´Ù. ¨é, ¨ê¿¡¼­µµ °ªÀº °úÁ¤ÀÌ ¹Ýº¹ÀÌ µË´Ï´Ù. ÀÌó·³ º¯¼ö result´Â 3±ºµ¥¿¡¼­ »ç¿ëµÇ¾úÁö¸¸ º¯¼ö¸íÀÌ °ª´õ¶óµµ ´Ù¸¥ ÁÖ¼Ò¸¦ °¡Áö±â ¶§¹®¿¡ 3 º¯¼ö°¡ ÀüºÎ ´Ù¸¥ º¯¼öÀÔ´Ï´Ù.

 

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

µÎ Á¤¼ö¸¦ ÀÔ·Â:30 20

(»ç¿ëÀÚÁ¤ÀÇÇÔ¼ö ³»ÀÇ) µÎ ¼öÀÇ ÇÕ=50

(mainÇÔ¼ö³»ÀÇ) µÎ ¼öÀÇ ÇÕ=0

(»ç¿ëÀÚÁ¤ÀÇÇÔ¼ö ³»ÀÇ) µÎ ¼öÀÇ Â÷=10

(mainÇÔ¼ö³»ÀÇ) µÎ ¼öÀÇ Â÷=0

 

¡¼02¡½ Àü¿ª º¯¼ö

¡ºÀü¿ªº¯¼ö(global variable, ¿ÜºÎº¯¼ö, extern variable, global variable)¡»´Â ÇÔ¼ö ¹Û¿¡¼­ ¼±¾ðµÇ¾î ÇÁ·Î±×·¥ ¾î´À °÷¿¡¼­µçÁö »ç¿ëÀÌ °¡´ÉÇÑ º¯¼öÀÔ´Ï´Ù. ƯÁ¤ ÇÔ¼ö ¾È¿¡¼­ ¼±¾ðµÇÁö ¾Ê°í main()ÇÔ¼ö³ª »ç¿ëÀÚ Á¤ÀÇÇÔ¼ö ¹Û¿¡¼­ ¼±¾ðµÇ¾î mainÇÔ¼ö¿Í »ç¿ëÀÚ Á¤ÀÇ ÇÔ¼ö¿¡¼­ ´Ù »ç¿ëÀÌ °¡´ÉÇÏ´Â ÇÔ¼öÀÔ´Ï´Ù. ±×·¸Áö¸¸ Àü¿ªº¯¼ö´Â ÇÁ·Î±×·¡¹Ö Ãø¸é¿¡¼­´Â À§ÇèÇÑ º¯¼öÀ̹ǷΠ°¡±ÞÀû »ç¿ëÇÏÁö ¾Ê´Â °ÍÀÌ ÁÁ½À´Ï´Ù.

 

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

// File Name : ex110_externVar01.c

#include<stdio.h>

 

int uf_add(int n1, int n2);

int uf_sub(int n1, int n2);  

 

int a,b,result;                                     ---------------------------- ¨ç

 

 

int main(void){

  printf("µÎ Á¤¼ö¸¦ ÀÔ·Â:");

  scanf("%d %d", &a, &b);

  uf_add(a,b);                                      ---------------------------- ¨è

 

  printf("(mainÇÔ¼ö¿¡¼­) µÎ ¼öÀÇ ÇÕ=%d\n", result); ---------------------------- ¨é

 

  uf_sub(a,b);                                      ---------------------------- ¨ê

  printf("(mainÇÔ¼ö¿¡¼­) µÎ ¼öÀÇ Â÷=%d\n", result); ---------------------------- ¨ë

  return 0;

}

 

int uf_add(int x, int y){

  result=x+y;

  printf("(»ç¿ëÀÚÁ¤ÀÇÇÔ¼ö³»ÀÇ) µÎ ¼öÀÇ ÇÕ=%d\n", result);

  return 0;

}

 

int uf_sub(int x, int y){

  result=x-y;

  printf("(»ç¿ëÀÚÁ¤ÀÇÇÔ¼ö³»ÀÇ) µÎ ¼öÀÇ Â÷=%d\n", result);

  return 0;

}

 

¨ç ¿¡¼­ int a,b,result;°¡ main(), uf_add(), uf_sub() ¹Û¿¡¼­ ¼±¾ðµÇ¾î ÀÖ½À´Ï´Ù. ÀÌ °ÍÀº a,b,result °¡ ¼±¾ðµÉ ¶§ »ý¼ºµÇ°í uf_add(), uf_sub()°¡ Á¾·áµÇ¾î¼­ ¼Ò¸êµÇÁö ¾Ê°í ³²¾ÆÀÖ´Ù´Â ÀǹÌÀÔ´Ï´Ù.

 

10°ú 20ÀÌ ÀÔ·ÂµÈ °æ¿ì¿¡, ¨è ¿¡¼­ uf_add(a,b);°¡ È£ÃâµÇ¸é a¿¡ ±â¾ïµÇ¾î ÀÖ´Â 10ÀÌ º¯¼ö x¿¡ º¹»çµÇ°í b¿¡ ±â¾ïµÇ¾î ÀÖ´Â 20ÀÌ y¿¡ º¹»çµÇ°í, º¯¼ö result°¡ »ý¼ºµÇ°í x, y¸¦ ´õÇÑ °ª 30ÀÌ result¿¡ ±â¾ïµÈ´Ù. ±×·± ´ÙÀ½¿¡ result¿¡ ±â¾ïµÇ¾î ÀÖ´Â °ª 30ÀÌ Ãâ·ÂÀÌ µÇ°í ÇÔ¼ö°¡ Á¾·áµÇ·¯¶óµµ º¯¼ö result´Â ±×´ë·Î À¯ÁöµË´Ï´Ù.

 

¨é ¿¡¼­ result¿¡´Â uf_add()¿¡¼­ °è»êÇÑ °ª 30ÀÌ ±×´ë·Î ³²¾Æ ÀÖ°í result´Â uf_add()¿¡¼­¸¸ »ç¿ëÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó main()¿¡¼­µµ »ç¿ëÇϹǷΠ30ÀÌ Ãâ·ÂÀÌ µË´Ï´Ù.

¨ê ¿¡¼­ uf_sub()ÀÌ È£ÃâÀÌ µÇ¸é a¿¡ ±â¾ïµÇ¾î ÀÖ´Â 10ÀÌ º¯¼ö x¿¡ º¹»çµÇ°í b¿¡ ±â¾ïµÇ¾î ÀÖ´Â 20ÀÌ y¿¡ º¹»çµÇ°í »¬¼ÀÀ» ÇÏ¿© ±× °á°ú -10ÀÌ result¿¡ ±â¾ïÀÌ µÇ°í ±× °ªÀÌ Ãâ·ÂÀÌ µË´Ï´Ù. ±×¸®°í uf_sub()°¡ Á¾·áµÇ¾îµµ result´Â ±×´ë·Î ³²¾Æ ÀÖ½À´Ï´Ù.

 

¨ë ¿¡¼­ result¿¡ ³²¾Æ ÀÖ´Â °ªÀÌ ±×´ë·Î Ãâ·ÂÀÌ µË´Ï´Ù.

ÀÌó·³ º¯¼ö result´Â 1°³¸¦ ¸¸µé¾î¼­ 3°³ÀÇ ÇÔ¼ö¿¡¼­ ´Ù »ç¿ëÇÏ´Â º¯¼öÀÔ´Ï´Ù.

 

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

µÎ Á¤¼ö¸¦ ÀÔ·Â:10 20

µÎ ¼öÀÇ ÇÕ=30

µÎ ¼öÀÇ ÇÕ=30

µÎ ¼öÀÇ Â÷=-10

µÎ ¼öÀÇ Â÷=-10

 

 

 

¡¼03¡½ Á¤Àû º¯¼ö

¡ºÁ¤Àûº¯¼ö(static variable)¡» ´Â ÇÔ¼ö ³»¿¡¼­ ¼±¾ðµÇ´Â Á¤Àûº¯¼ö¿Í Àü¿ªº¯¼öó·³ »ç¿ëµÇ´Â Á¤Àûº¯¼ö°¡ ÀÖ½À´Ï´Ù. ÇÔ¼ö ³»¿¡¼­ ¼±¾ðµÇ´Â Á¤Àûº¯¼ö´Â ÇÔ¼ö°¡ óÀ½ È£ÃâµÉ ¶§ ¼±¾ðµÇ°í ÇÔ¼ö°¡ Á¾·áµÇ´õ¶óµµ ¼Ò¸êµÇÁö ¾Ê°í ³²¾Æ ÀÖ´Â º¯¼öÀÔ´Ï´Ù. ÃʱâÈ­´Â óÀ½ È£ÃâµÉ ¶§ ÇÑ ¹ø¸¸ µÇ°í ±× ÀÌÈÄ¿¡´Â ÃʱâÈ­ µÇÁö ¾Ê°í °ªÀ» ±×´ë·Î À¯ÁöÇÕ´Ï´Ù. ±×·¯³ª ÇÔ¼ö ³»ºÎ¿¡ Á¸ÀçÇϹǷΠ»ç¿ë ¹üÀ§´Â ÇÔ¼ö ³»ºÎ·Î Á¦ÇÑµÇ°í ´Ù¸¥ ÇÔ¼ö¿¡¼­´Â »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.

Áö¿ªº¯¼ö´Â ¼±¾ðµÉ ¶§ °¡ºñÁö°ªÀÌ Á¸ÀçÇϹǷΠÃʱâÈ­ÇÏ¿© »ç¿ëÇϰí ÃʱâÈ­ÇÏÁö ¾ÊÀ¸¸é ¹®Á¦°¡¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª Á¤Àûº¯¼ö´Â Ưº°È÷ ÃʱâÈ­ÇÏÁö ¾Ê¾Æµµ 0À¸·Î ÃʱâÈ­µË´Ï´Ù.

 

¡¼Çü½Ä¡½

static ÀÚ·áÇü º¯¼ö¸í;

 

¡¼¿¹¡½  

static int a;

 

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

#include<stdio.h>

void uf_increase(void);

int main(void){

  int a;

  for(a=0;a<5;a++)

   uf_increase();

  return 0;

}

 

void uf_increase(void){

  // int sum=0;

  static int sum; 

  sum++;

  printf("ÃÑÇÕ=%d\n", sum);

}

 

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

ÃÑÇÕ=1

ÃÑÇÕ=2

ÃÑÇÕ=3

ÃÑÇÕ=4

ÃÑÇÕ=5