home *** CD-ROM | disk | FTP | other *** search
/ nextcube.org / www.nextcube.org.tar / www.nextcube.org / board / bbs.php3?board=board&line=rdate&mode=view&id=165&fld=&nws=y&page=49&keyword=&flag=&a_o=.orig < prev    next >
Text File  |  2010-08-17  |  49KB  |  318 lines

  1. <html><head><title>NeXTcube - ABookOnC Chapter 5 - 5.4</title><meta http-equiv='Content-Type' content='text/html; charset=utf-8'><link rel='stylesheet' type='text/css' href='./css/style.css'><link rel='shortcut icon' href='/images/favicon.ico'><link rel='alternate' type='application/rss+xml' title='NeXTcube RSS Feed' href='/board/rss2.php?items=active'><script type='text/javascript' src='./css/nextcube.js'></script></head>
  2.  
  3. <body bgcolor=#ffffff text=#000000 link=#000000 alink=#000000 vlink=#000000  onload='imgSizeConv(600);'>
  4.  
  5. <div id='menu'><table border=0 width=120 height=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td height=40 colspan=2></td></tr><tr><td width=16></td><td align=left valign=top><a href=?board=news&line=rdate&fld=&nws=><img src=/images/news_t.gif border=0></a><br><br><br><a href=?board=board&line=rdate&fld=&nws=><img src=/images/board_t.gif border=0></a><br><br><br><a href=?board=doc&line=subject&fld=&nws=><img src=/images/doc_t.gif border=0></a><br><br><br><a href=?board=photo&line=reg_date&fld=&nws=><img src=/images/photo_t.gif border=0></a><br><br><br><a href=?board=image&line=reg_date&fld=&nws=><img src=/images/image_t.gif border=0></a><br><br><br><a href=?board=pub&line=subject&fld=&nws=><img src=/images/pub_t.gif border=0></a><br><br><br></td></tr><tr><td align=center valign=bottom colspan=2><img src='/counter/digit/code39/0.gif'><img src='/counter/digit/code39/0.gif'><img src='/counter/digit/code39/0.gif'><img src='/counter/digit/code39/2.gif'><img src='/counter/digit/code39/8.gif'><img src='/counter/digit/code39/4.gif'><img src='/counter/digit/code39/5.gif'><br><br><img src=/images/contactme.gif border=0></td></tr><tr><td height=40 colspan=2></td></tr></table></div>
  6.  
  7. <div id='main'><table width=100% height=100% border=0 cellpadding=0 cellspacing=0 align=center><tr><td height=40></td></tr><tr><td align=center valign=top><a href='#page_bottom' title='Go to Bottom of Page'><img src='/images/knowhow2.gif' id='knowhow2' border=0></a><a href='https://www.pbank.co.kr/svc/guest_remit/pop_remit_main.jsp?fix=46516&b_bankbook=378273812&fbid=' title='Pbank Donate'><img src='/images/pbank_logo.gif' id='pbank' border=0></a><form action='https://www.paypal.com/cgi-bin/webscr' method='post'><input type='hidden' name='cmd' value='_s-xclick'><input type='hidden' name='hosted_button_id' value='9050272'><input type='image' src='/images/paypal_logo.gif' border='0' name='submit' alt='PayPal - The safer, easier way to pay online!' title='Paypal Donate' id='paypal'><img alt='' border='0' src='https://www.paypal.com/en_US/i/scr/pixel.gif' width='1' height='1'></form><table width=100% border=0 cellpadding=0 cellspacing=1 align=center><tr><td align=center><img src='/images/board.gif'></td></tr></table><br><br>
  8.  
  9. <table bgcolor=#ffffff width=100% border=0 cellpadding=2 cellspacing=1 align=center><tr height=24 bgcolor=#666666><td width=100% align=center nowrap><font color=#ffffff><b>ABookOnC Chapter 5 - 5.4</b></font></td></tr></table><a name="0"></a><table bgcolor=#ffffff width=100% border=0 cellpadding=4 cellspacing=0 align=center><tr height=24 bgcolor=#eeeeee><td width=50% align=left nowrap>òµ·ºƒÃ: <a href="mailto:Narzisse@borahome.net">ºÁÚòÚÀò†©</a></td><td width=50% align=right nowrap><a href='/board/bbs.php3?board=board&line=rdate&mode=del&id=165&rid=165&fld=&nws=y&page=49&keyword=&flag=&a_o=' onclick="return confirm('ò©Õº§Ð òÁ›ò©ÞóÕÚòËÞŒ†©òʦºËÈŒ„Ì?')">[òÁ›ò©Þ]</a> <a href='/board/bbs.php3?board=board&line=rdate&mode=modi&id=165&rid=165&fld=&nws=y&page=49&keyword=&flag=&a_o='>[òÈÚò©Õ]</a> 2001-01-21 04:15:09</td></tr></table><table bgcolor=#ffffff width=100% border=0 cellpadding=10 cellspacing=1 align=center><tr bgcolor=#ffffff><td>Chapter 5 
  10. <br>
  11. <br>Functions 
  12. <br>
  13. <br>The heart of effective problem solving is problem decomposition. Taking a problem and breaking it into small, manageable pieces is critical to writing large programs. 
  14. <br>óܤŒ‡…ò©Àòµ‚ º‹‚ò©Þ óÒ òµ·òµÚ º‡‚ò§Èòµ  º‹‚ò©Þ óÕ·ò†·òµ·ºË⁄. º‹‚ò©Þº¥… ò•¤óÕÚŒ‡© Œ•‚Œ†ÂòµÃ Œ„¤òÖ·ºÞ¤ºƒ‹ºÊÔ Œ†Âòµ  ò×Ñòµ  Œ†Â òÕÈòÙÐòÃÞ, ºË⁄º£¤Œ‚® òÉ‹òÜ· ò¡®Œ®ÀºÓ⁄(ò×Ñòµ  Œ†Â)òµ  ò»⁄ºË⁄º×  óÔú¡ÞŒ•‚º×¤ºÓ⁄òµÃ òͤ Œ® ºÊԺͮ ò⁄ÑòÜÔóÕÚºË⁄. 
  15. <br>(ºË⁄º£¤Œ‚® òÉ‹òÜ· ò¡®Œ®ÀºÓ⁄ Œ•‚ ò×Ñòµ  Œ†Â òÕÈòÙÐòÃÞ º‹‚ò©Þº¥… ò•¤óÕÚŒ‡© óÒ òÖ· ºÁÚŒ® ºÊÔ Œ†Âòµ  ò»⁄ºË⁄º×  óÔú¡ÞŒ•‚º×¤ºÓ⁄òµÃ òͤ ºÁÚŒ® ºÊÔ ºÍ®òÙРò×ÈòÖ· ò⁄ÑòÜÔóÕÚºË⁄.) 
  16. <br>
  17. <br>In C, the function construct is used to implement this í Þtop-downí µ method of programming. A program consists of one or more files, with each file containing zero or more functions, one of them being a main() function. 
  18. <br>CòÙÐòÃÞºÊÔ, óÕ¤òÈÚ Œ¦‹ò¡®º‹…òµ· óÔú¡ÞŒ•‚º×Úº®ÍòµÚ í Þtop-downí µ(òÞÃòÙÐòÃÞ òÕú×Úº¡Þ, óÕÚóÖ¥ò˵)òµÃ ºÄ…ºƒ‹ò©Àòµ‚ º®’ò˵(method)òÞ…º¡Þ òµ·óÖÉóÕÚŒ‚® òÞÃóÕ·(ò¶’ò¡–òËÞóÁ⁄Œ‚® òÞÃóÕ·, implement) òÁ‹òÜ’ºÐÚòÖ· ò§ÃºË⁄. óÕÚºÁÚòµÚ óÔú¡ÞŒ•‚º×¤òµ  óÕÚºÁÚ ºÚкÊÔ ºÍÔ º§Îòµ  óÌÌòµ…ºÓ⁄òµÚ Œ¦‹òÖòµ·ºË⁄. Œ®ÀŒ®ÀòµÚ óÌÌòµ…ºÓ⁄òµ  óÕ¤òÈÚŒ®  òÙÅŒ–®ºÁÚ ºÍÔ º§Îòµ  óÕ¤òÈÚºÓ⁄òµÃ Œ® ò§ Œ‡© ò×ÈŒ‡©, Œ•‚ Œ® ò§ Œ‡© ò×ȺÊÔ óÕ¤òÈÚºÓ⁄ ò⁄ÑòÙÐòÃÞ óÕÚºÁÚºÊÔ main() óÕ¤òÈÚŒ®  ºÐÞºË⁄. 
  19. <br>(óÕ¤òÈÚº¥… Œ® ò§ Œ‡© ò×Èò§  òÕÊŒ–®ºÁÚ (óÕ¤òÈÚºÓ⁄ ò⁄ÑòÙРóÕÚºÁÚºÊÔ main()óÕ¤òÈÚŒ®  ºÐÚºÊÔ) ºÍÔ º§Îòµ  óÕ¤òÈÚºÓ⁄òµÃ Œ® ò§ Œ‡© ò×ȺÊÔ Œ®ÀŒ®ÀòµÚ óÌÌòµ…ºÓ⁄ óÚ„òµ  óÕÚºÁÚòµÚ óÌÌòµ…òµ  óÕÚºÁÚòµÚ óÔú¡ÞŒ•‚º×¤òµÚ Œ¦‹òÖòµ· ºÐÞºË⁄.) 
  20. <br>
  21. <br>Functions are defined as individual objects that cannot be nested. Program execution begins with main(), which can call other functions, including library functions such as printf() and sqrt(). 
  22. <br>óÕ¤òÈÚºÓ⁄òµ  óÏ‹Œ®ÞòÖ· ºÃ£òµÃ òÈÚ òÙźÊÔ(ºÏĺƒ‰ò©Àòµ‚ óÚÕóÂÞº¡Þ ò¡·ò׋óÕÚºÊÔ) Œ®ÀŒ®ÀòµÚ Œ®µò†·ºÓ⁄º¡Þ ò©ÕòµÚºÐÚòÖ· ò§ÃºË⁄.óÔú¡ÞŒ•‚º×¤òµÚ òÈÚóÖÉòµ  main()Œ‡… óÕ¤Œ»Ú òËÞò×ѺÐÚòÖ· ò§ Œ‡©, Œ•‚Œ†Âòµ (main()òµ ) printf()òÛ  sqrt()òÛ  Œ®Ûòµ  ºµ…òµ·º‚̺÷‹ºƒ‹ óÕ¤òÈÚºÓ⁄òµÃ óÏ‹óÕ¤óÕÚºÊÔ ºË⁄º¥‚ óÕ¤òÈÚºÓ⁄òµÃ º¶ º¥… òÈÚ ò×ȺË⁄. 
  23. <br>
  24. <br>Functions operate with program variables, and which of these variable at a particular place in a function is determined by scope rules. In this chapter we discuss function definition, function declaration, scope rules, storage classes, and recursion. 
  25. <br>óÕ¤òÈÚºÓ⁄òµ  óÔú¡ÞŒ•‚º×¤ º‡ òÈÚºÓ⁄Œ‡… òÝ ò§Àòµ·ºÊԺͮ, óÊ„º‡ÃóÕÞ òÞÃò„ÚòÙРò×ȺÊÔ òµ·º÷‹óÕÞ º‡ òÈÚºÓ⁄òµ  º†ÔòÞÃòµÚ º†Õò„ÛºÓ⁄òÙÐ(scope rules) òµÚóÕ· ò©ÕòµÚºÐÚòÖ· ò¡ÌºË⁄.  òµ· ò–ÕóîòÙÐòÃÞ òÜ®ºƒ‹ºÊÔ óÕ¤òÈÚò©ÕòµÚ(function definition), óÕ¤òÈÚòéòÖ‚(function declaration), º†ÔòÞÃòµÚ º†Õò„Û(scope rules)ºÓ⁄, ò© ò×¥ óÀ·º×ÚòÊ⁄ºÓ⁄(storage classes), Œ•‚ºƒ‹Œ‡© ò׋Œ• (º®Úº‡¦,óÜÌŒ• , recursion)òÙРºÌ óÕ·òÃÞ ºÄ…òµÚ óÕÞºË⁄. 
  26. <br>
  27. <br>5.1 Function Definition 
  28. <br>
  29. <br>The C code that describes what a function does is called the function definition. It must not be confused with the function declaration. A function definition has the following general form: 
  30. <br>óÕ¤òÈÚŒ®  º‹·òÙÇòµÃ óÕÚºÊÔò§  º‹ÚòÁ‹óÕÚºÊÔ C codeº¥… óÕ¤òÈÚ ò©ÕòµÚ(function definition)ºµ… º¶ º¥‚ºË⁄. Œ•‚Œ†Âòµ  óÕ¤òÈÚòéòÖ‚(function declaration)Œ‡… óÚ…ºÏÛóÕÚò§  º§ÐòÕÃòÕ… óÕÞºË⁄. óÕ¤òÈÚò©ÕòµÚºÊÔ ºË⁄òµÌòµÚ òµ…º®Úò©Àòµ‚ óÚÕóÂÞº¥… ºÔ®º¥‚ºË⁄. 
  31. <br>
  32. <br>type    function_name( parameter list ) { declaration    statements } 
  33. <br>
  34. <br>Everything before the first brace comprises the header of the function definition, and everything between the braces comprises the body of the function definition. The parameter list is a comma-separated list of declarations. An example of a function definition is 
  35. <br>ò†«º†Èò§‚ ò⁄ÑŒ·ÃóÚ‚ òÕ×òµÚ º“¤ºÓ© Œ†Âòµ  óÕ¤òÈÚò©ÕòµÚòµÚ óÙ⁄ºÍÔóÌÌòµ…º¡Þ òµ·º£¤òÖ·ò§ÃºË⁄. Œ•‚ºƒ‹Œ‡© ò⁄ÑŒ·ÃóÚ‚ºÓ⁄ òÁ‹òµ·òÙРò×ȺÊÔ º“¤ºÓ© Œ†Âòµ  óÕ¤òÈÚò©ÕòµÚ(function declaration)òµÚ º“‚ò†·º¡Þ òµ·º£¤òÖ·ò§ÃºË⁄. º§⁄Œ®Þº‡ òÈÚ(parameter) º“’º¡µòµ  ò‰⁄º§Èº¡Þ ºÁÚºÈÃòÖ·ò©‚ òéòÖ‚óÕÞ Œ†ÂºÓ⁄òµÚ º“’º¡µºÓ⁄òµ· ºÐÞºË⁄.( int I, product = 1, í ƒ. òµ·º÷® ò˵òÞ…º¡Þ ò‰⁄º§Èº¡Þ ºÁÚºÈÃòÖ·ò§Ã º“’º¡µºÓ⁄òµ· º§⁄Œ®Þº‡ òÈÚòµÚ º“’º¡µòµ· ºÐÞºË⁄ºÊÔ òÖÚŒ‚®òµ·ò£©^_^.) 
  36. <br>
  37. <br>int factorial (int n)              /* header */ 
  38. <br>{ 
  39. <br>int i, product = 1; 
  40. <br>for (i = 2; i <= n; ++i) 
  41. <br>product *= i; 
  42. <br>return product; 
  43. <br>} 
  44. <br>
  45. <br>The first int tells the complier that the value returned by the function will be converted, if necessary, to an int. 
  46. <br>ò†«º†Èò§‚ intºÊÔ, (º§Ìòµ… óÕÃòÜÔóÕÚºË⁄º’· intº¡Þ º‡ óÛÚºÐÚòÖ·ò§È) óÕ¤òÈÚòÙРòµÚóÕ· ºÏ̺©⁄ º®ÝºÊÔ Œ®ÒòµÃ ò»·óÌÌòµ…º÷‹òÙÐŒ†Ì òÖÚŒ‚®óÕ· ò⁄ ºË⁄. 
  47. <br>
  48. <br>The parameter list consists of the declaration int n. This tells the compiler that the function takes a single argument of type int. An expression such as factorial(7) causes the function to be invoked, or called. The effect is to execute the code that comprises the function definition, with n having the value 7. Thus, functions act as useful abbreviating schemes. Here is another example of a function definition: 
  49. <br>º§⁄Œ®Þº‡ òÈÚ º“’º¡µ(parameter list, (int n))òµ  int n òéòÖ‚òÞ…º¡Þ Œ¦‹òÖºÐÚòÖ·ò©‚ ò×ȺË⁄. òµ·Œ†Âòµ  ò»·óÌÌòµ…º÷‹òÙÐŒ†Ì óÕ¤òÈÚŒ®  int óÚÕòµÚ(type int)òµÚ óÕÚºÁÚòµÚ ºÏĺƒ‰º‡ òÈÚº¥… ò•¤óÕÞºË⁄ºÊÔ Œ†ÂòµÃ º§ÐóÕ·ò⁄ ºË⁄. factorial(7)Œ‡… Œ®Ûòµ  óÕÞ óÑÞóÚÃòµ  óÕ¤òÈÚº¥… Œ® ò©‚òÚ⁄Œ–®ºÁÚ º¶ º¥·Œ†Ì óÕÞºË⁄. Œ•‚ Œ†®Œ‡…ºÊÔ nòµ· 7òµ·ºµ…ºÊÔ Œ®ÒòµÃ Œ® ò§ ºÊÔ óÕ¤òÈÚò©ÕòµÚº¥… óÏ‹óÕ¤óÕÚºÊÔ ò‰ÔºÓÞº¥… òË⁄óÖÉóÕÚºÊÔ Œ†Âòµ·ºË⁄. òµ·òÛ  Œ®Ûòµ·, óÕ¤òÈÚºÓ⁄òµ  òÞ©òÜ’óÕÚŒ†Ì Œ®Ãº×¦óÕÞ Œ‡ÃóÜͺÓ⁄òµÃ óÖÉóÕÚºÊÔ òÙ›óÕ©òµÃ óÕÞºË⁄. òÙ‹Œ‚® ºÚРºË⁄º¥‚ óÕ¤òÈÚ ò©ÕòµÚòµÚ òÚÈŒ®  ò×ȺË⁄. 
  50. <br>
  51. <br>void wrt_address(void) 
  52. <br>{ 
  53. <br>printf(í Þ%s\n%s\n%s\n%s\n%s\n\ní µ, 
  54. <br>í Þ            ********************í µ, 
  55. <br>í Þ             **   SANTA CLAUS     *í µ, 
  56. <br>í Þ             **   NORTH POLE      *í µ, 
  57. <br>í Þ             **   EARTH                 *í µ, 
  58. <br>í Þ             ********************í µ,); 
  59. <br>} 
  60. <br>
  61. <br>The first void tells the compiler that this function returns no value; the second void tells the compiler that this function takes no arguments. The expression 
  62. <br>ò†«º†Èò§‚ void ºÊÔ ò»·óÌÌòµ…º÷‹òÙÐŒ†Ì òµ· óÕ¤òÈÚºÊÔ Œ®ÒòµÃ ºÐÚºÏ̺ƒ‹ò§  òÕʺÊÔºË⁄Œ‡© º§ÐóÕÞºË⁄; ºÑРº†Èò§‚ voidºÊÔ ò»·óÌÌòµ…º÷‹òÙÐŒ†Ì òÖ·ºÖ©óÕÞ ºÏĺƒ‰º‡ òÈÚ(arguments,òÕ×òÞ…º¡ÞºÊÔ Œ•‚ºÂ¥ argumentºµ…Œ‡© òÓ®ºÊÔ Œ†Ì ò¢ËŒ†©òÖ·òÜÔ.) ºÓ⁄ºÏàò•¤óÕÚò§  òÕʺÊÔºË⁄ºÊÔ Œ†ÂòµÃ º§ÐóÕ·ò⁄ ºË⁄. 
  63. <br>
  64. <br>wrt_address() 
  65. <br>
  66. <br>causes the function to be invoked. For example, to call the function three times we can write 
  67. <br>
  68. <br>wrt_address() ºµ…ºÊÔ óÑÞóÚÃòµ  óÕ¤òÈÚº¥… º¶Èº÷‹ºÓ⁄òµ·Œ†Ì óÕÞºË⁄. òÚȺ¥… ºÓ⁄òÖ·òÃÞ, óÕ¤òÈÚº¥… ò º†È º¶Èº÷‹ºÓ⁄òµ·Œ‚® òÞÃóÕ· òÜ®ºƒ‹ºÊÔ ºË⁄òµÌò†Úº÷… òÓ‚ òÈÚ ò×ȺË⁄. 
  69. <br>
  70. <br>for (i = 0; i< 3; ++i) 
  71. <br>wrt_address(); 
  72. <br>
  73. <br>A function definition starts with the type of the function. If no value is returned, then the type is void. If the type is something other than void, then the value returned by the function will be converted, if necessary, to this type. 
  74. <br>óÕ¤òÈÚ ò©ÕòµÚºÊÔ óÕ¤òÈÚòµÚ óÚÕ(type)Œ‡… óÕ¤Œ»Ú òËÞò×ѺÐÞºË⁄. º§ÌòÕ‰ Œ®ÒòµÃ ºÐÚºÏ̺©⁄ º®Ýò§  òÕÊòÞ…º’· óÚÕ(type)òµ  void Œ®  ºÐÞºË⁄. º§Ìòµ… void Œ®  òÕúËÌ(º®ÖòµÚ) ºË⁄º¥‚ òÖ·ºÖ⁄ óÚÕ(type)òµ·ºµ…º’·, º§ÌòÕ‰ Œ•‚ óÚÕ(type)òµÃ óÕÃòÜÔº¡Þ óÕÞºË⁄º’· óÕ¤òÈÚºÊÔ Œ•‚ óÚÕ(type)òÞ…º¡Þ º‡ óÛÚºÐÚòÖ· ò§È Œ†Âòµ·º’® Œ•‚òÙРºÔ®º¥‚ Œ®ÒòµÃ ºÐÚºÏ̺ƒ®ºË⁄. 
  75. <br>
  76. <br>The name of the function is followed by a parenthesized list of parameter declarations. The parameters act as placeholders for values that are passed when the function is invoked. Sometimes, to emphasize their role as placeholders, these parameters are called the formal parameters of the function. The function body is a block, or compound statement, and it too may contain declarations. Some examples of function definitions are 
  77. <br>óÕ¤òÈÚòµÚ òµ·ºƒÃòµ  Œ·ÃóÚ‚()Œ®  ò‡Ðò§Ã º§⁄Œ®Þº‡ òÈÚ(parameter)òéòÖ‚òµÚ º“’º¡µòÙРòµÚóÕ· ºÔ®ºµ…òÚ⁄Œ†Ì ºÐÞºË⁄. º§⁄Œ®Þº‡ òÈÚ(parameter)ºÊÔ óÕ¤òÈÚŒ®  º¶Èº÷‹ºÓ⁄òÙ‹ò¡ÌòµÃ ºÕÌ º®ÝòÕÃò§Ã Œ®ÒºÓ⁄òµÃ ò×¥òÅÌòסòµ·òµÚ(ò© ò×¥óÕÚºÊÔ,placehoders) óÖɺÏÛòµÃ(òÙ›óÕ©òµÃ) óÕÞºË⁄.  ºÕ̺Õ̺¡Þ, placeholdersòµÚ òÙ›óÕ©òµÃ Œ®Õò¡®óÕÚŒ‚®òÞÃóÕ·, òµ·º÷‹óÕÞ º§⁄Œ®Þº‡ òÈÚ(parameters) ºÓ⁄òµ  óÕ¤òÈÚòµÚ óÚÕò˵ò©Àòµ‚ º§⁄Œ®Þº‡ òÈÚ(parameters) º¡Þ º¶Èºƒ‹òÝÌ ò§ÃºË⁄. 
  78. <br>óÕ¤òÈÚòµÚ º“‚ò†·ºÊÔ block({}) óÚ„òµ  º‹‚ò×¥(statement)òµÚ Œ†®óÕ’òÞ…º¡Þ ºÐÚòÖ· ò×ȺË⁄. Œ•‚ºƒ‹Œ‡© Œ•‚Œ†Âòµ  Œ‰⁄ º§Îòµ  òéòÖ‚ºÓ⁄òµÃ óÏ‹óÕ¤óÕÞºË⁄. óÕ¤òÈÚ ò©ÕòµÚºÓ⁄ ò⁄ÑòÙРòÖ·ºÖ⁄ òÚȺÓ⁄òµ· ò×ȺË⁄. 
  79. <br>
  80. <br>void nothing(void) {}          /* this function does nothing */ 
  81. <br>
  82. <br>double twice(double x) 
  83. <br>{ 
  84. <br>return (2.0 * x); 
  85. <br>} 
  86. <br>
  87. <br>
  88. <br>int all_add(int a, int b) 
  89. <br>{ 
  90. <br>int c; 
  91. <br>.... 
  92. <br>
  93. <br>
  94. <br>return (a + b + c); 
  95. <br>} 
  96. <br>
  97. <br>If a function definition does not specify the function type, then it is int by default. For example, the last function definition could be given by 
  98. <br>º§ÌòÕ‰ óÕ¤òÈÚò©ÕòµÚ(function definition)Œ®  óÕ¤òÈÚóÚÕ(type)òµÃ ò§ ò©ÕóÕÚò§  òÕÊòÕÚºË⁄º’·, Œ•‚º÷‹º’· Œ•‚ óÚÕ(type)òµ  default Œ®ÒòÞ…º¡Þ int Œ®  ºÐÞºË⁄. òÚȺ¥… ºÓ⁄òÖ·, º§Èò§ º§ÉòÙРò×ȺÊÔ óÕ¤òÈÚò©ÕòµÚºÊÔ (òÕú×Ú ò˵òÙÐ)òµÚóÕ·òÃÞ ò£…òÖ·ò§È òÈÚ ò×ÈòµÃ Œ†Âòµ·ºË⁄. 
  99. <br>
  100. <br>all_add(int a, int b) 
  101. <br>{ 
  102. <br>.... 
  103. <br>
  104. <br>However, it is considered good programming practice to specify the function type explicitly. 
  105. <br>óÕÚò§ º§Ì ò¢Ëòµ  óÔú¡ÞŒ•‚º×Úº®Í òʦŒ· òµ  óÕ¤òÈÚ(type)óÚÕòµÃ º“ÄóÛÕóÕÚŒ†Ì ò§ ò©ÕóÕÚºÊÔ Œ†ÂòÞ…º¡Þ Œ‡©º©⁄ºÐÚòÖ· ò§ÃºË⁄. 
  106. <br>
  107. <br>Any variables declared in the body of a function are said to be í Þlocalí µ to that function. Other variables may be declared external to the function. These are called í Þglobalí µ variables. An example is 
  108. <br>óÕ¤òÈÚòµÚ º“‚ò†· òÕÈòÙÐòÃÞ òéòÖ‚ºÐÞ òÖ·ºÖ⁄ º‡ òÈÚºÓ⁄òµ  óÕ¤òÈÚòÙРºÌ óÕÞ ò§ òÙ›(local)º‡ òÈÚºµ…Œ‡© òÖÚŒ‚®ºÐÚòÖ· ò§ÃºË⁄. 
  109. <br>ºÁÚº¤‚ò§  ºË⁄º¥‚ º‡ òÈÚºÓ⁄òµ  óÕ¤òÈÚ º®ÖòÙÐòÃÞ òéòÖ‚ºÐ© òÈÚ ò×ÈòµÃº÷®ò§ ºÏຓ¤º¥‚ºË⁄. òµ·º÷‹óÕÞ Œ†ÂºÓ⁄òµÃ óÏ‹Œ·Ãò©Àòµ‚(ò©ÃòÙ›, global) º‡ òÈÚºµ…Œ‡© º¶Èº©⁄ò§ÃºË⁄. óÕÞ òÚȺ¥… ºÓ⁄º’· 
  110. <br>
  111. <br>#include 
  112. <br>
  113. <br>int a = 33;           /* a is externel and initialized to 33 */ 
  114. <br>int main(void) 
  115. <br>{ 
  116. <br>int b = 77; 
  117. <br>
  118. <br>printf(í Þa = %d\ní µ, a); 
  119. <br>printf(í Þb = %d\ní µ, b); 
  120. <br>return 0; 
  121. <br>} 
  122. <br>
  123. <br>In traditional C, the function definition has a different syntax. The declarations of the variables in the parameter list occur after parameter list itself and just before the first brace. An example is 
  124. <br>ò©ÃóŦò©Àòµ‚ CòÙÐòÃÞºÊÔ, óÕ¤òÈÚò©ÕòµÚŒ®  ºË⁄º¥‚ Œ¦‹º¶Ãº†Õ(º‹‚ò×¥º†Õ, syntax)òµÃ Œ® ò§ Œ‡© ò×ȺË⁄. º§⁄Œ®Þº‡ òÈÚ(parameter)º“’º¡µòÙÐòÃÞ º‡ òÈÚºÓ⁄òµÚ òéòÖ‚òµ  º§⁄Œ®Þº‡ òÈÚ(parameter) º“’º¡µ ò×ÐòË©Œ‡… ò†«º†Èò§‚ ò⁄ÑŒ·ÃóÚ‚òµÚ º®Ôº¡Þ òÕ×òÙÐòÃÞ º®ÞòµóÕÞºË⁄. 
  125. <br>óÕÞ òÚȺ¥… ºÓ⁄º’· 
  126. <br>
  127. <br>void f(a, b, c, x , y) 
  128. <br>int   a, b, c; 
  129. <br>double   x, y; 
  130. <br>{ 
  131. <br>.... 
  132. <br>
  133. <br>The order in which the parameters are declared is immaterial. If there are no parameters, then a pair of empty parentheses is used. ANSI C compiler will accept this traditional syntax as well as the newer syntax. Thus, traditional code can still be compiled by an ANSI C compiler. 
  134. <br>òéòÖ‚ºÐÞ parameter ºÓ⁄òµÚ òÈÞòÃÞºÊÔ(the order) ò⁄ÑòÜÔóÕÚò§  òÕʺË⁄. º§ÌòÕ‰ parameterºÓ⁄òµ· óÕÃòÜÔóÕÚò§  òÕʺË⁄º’·, º„ÃòÖ· ò×ȺÊÔ Œ·ÃóÚ‚()óÕÞ òÌÍòµ· òÁ‹òÜ’ºÐÚòÖ· ò§ÃºË⁄. ANSI C ò»·óÌÌòµ…º÷‹ºÊÔ òÂȺ¡ÞòÜ· º‹‚º†Õ º§ÌóÀ…òµ·ºÁÚ ò©ÃóŦò©Àòµ‚ º‹‚º†Õ ºÚÐóÕÞ º®ÝòÕúÓ⁄òµ… Œ†Âòµ·ºË⁄. ºÔ®ºµ…òÃÞ, ò©ÃóŦò©Àòµ‚ ò‰ÔºÓÞºÊÔ òÙ‹ò©Ãó×È ANSI C ò»·óÌÌòµ…º÷‹òÙРòµÚóÕ·òÃÞ ò»·óÌÌòµ… ºÐ© òÈÚ ò×ȺË⁄. 
  135. <br>
  136. <br>There are several important reasons to write programs as collections of many small functions. It is simpler to correctly write a small function to do one job. Both the writing and debugging are made easier. It is also easier to maintain or modify such a program. 
  137. <br>º§Îòµ  ò×Ñòµ  óÕ¤òÈÚºÓ⁄òµÚ ò§ÑóÕ’ò†·º¡Þ óÔú¡ÞŒ•‚º×¤òµÃ òÓ®ºÊÔ(ò§ÞºÊÔ,write) º“Ç Œ® ò§  ò⁄ÑòÜÔóÕÞ òµ·òÞ©ºÓ⁄òµ· ò×ȺË⁄. óÕÞ ò×ÑòÙÄòµÃ óÕÚŒ‚® òÞÃóÕ· ò©ÕóÛÕóÕÚŒ†Ì ò×Ñòµ  óÕ¤òÈÚº¥… òÓ®ºÊÔ Œ†Âòµ· ºÍÔ òɉºË⁄. òÓ®ºÊÔ(ò§ÞºÊÔ) Œ†ÂŒ‡… ºÔÔº†ÃŒ„Ä(debugging, º†ÃŒ•‚ òסºÊÔ òµ…)óÕÚºÊÔ òµ… ºÑРŒ® ò§  º“¤ºÑÐŒ®  ºÍÔ òɉŒ†Ì º§ÌºÓ⁄òÖ·ò§ÃºË⁄. Œ•‚º÷‹óÕÞ óÔú¡ÞŒ•‚º×¤òµ  ºÚÐóÕÞ òÞ©ò§ óÕÚŒ‡© òÈÚò©ÕóÕÚŒ‚®òÙкÏàºÍÔ òɉºË⁄. 
  138. <br>
  139. <br>One can readily change just the set of functions that need to be rewritten, expecting the rest of the code to work correctly. Also, small functions tend to be self-documenting and highly readable. A useful heuristic for writing good programs is to write each function so that its code fits on a single page. 
  140. <br>òÕ̺§×òµ  ò×ÑòÙÄòµÃ òÞÃóÕ· ò‰ÔºÓÞòµÚ ºÁÚº¤‚ò§  º¶ º¶ÃòµÃ Œ‚®ºÌ óÕÚŒ‡© ò×ȺÊÔ, ºË⁄òËÞ òÓ®òÙ‹ò§È óÕÃòÜÔŒ®  ò×ȺÊÔ óÕ¤òÈÚºÓ⁄òµÚ òÓ®ò×ÃòÂÈ(º®®ò„Ú,º“¤òʦ set)º¥… òÅÐòɉŒ†Ì º®ÔŒ¿  òÈÚŒ®  ò×ȺË⁄. ºÚÐóÕÞ, ò×Ñòµ  óÕ¤òÈÚºÓ⁄òµ  òÊ⁄òÊ⁄º¡Þ º‹‚òÃÞóÛÔºÐÚºÊÔ Œ•‚ºƒ‹Œ‡© òÂÀºË„ó×È òµ‰Œ‚® òÉ‹òÜ· Œ†‰óÖ¥òµÃ ò§ ºË̺Ë⁄. ò¢Ëòµ  óÔú¡ÞŒ•‚º×¤ºÓ⁄òµÃ òÓ®ºÊÔ òÞ©òÜ’óÕÞ º®ÞŒ†‹ò©À Œ¦ÐòÈÚº†Õ(heuristic)òµ  óÕÚºÁÚòµÚ óÎÚòµ·ò§  òÞÃòÙРŒ•‚ óÕ¤òÈÚºÓ⁄òµÚ ò‰ÔºÓÞŒ®  º§×ò¶ÔòÖ·ò§ ºÏú¡µ Œ®ÀŒ®ÀòµÚ óÕ¤òÈÚºÓ⁄òµÃ òÓ®ºÊÔ Œ†Âòµ·ºË⁄. 
  141. <br>(óÕÞ óÎÚòµ·ò§ Œ®  ºÃÚòÖ·Œ® ò§  òÕʺÏú¡µ ò§§Œ†Ì Œ•‚ óÕ¤òÈÚòµÚ ò‰ÔºÓÞº¥… ò×ÑòÖóÕÚŒ‡© Œ•‚º÷‹óÕÞ Œ®ÀŒ®ÀòµÚ óÕ¤òÈÚºÓ⁄º¡Þ òµ·º£¤òÖ·ò§Ã óÔú¡ÞŒ•‚º×Úº®Íòµ· ò¢ËòÞ…º’® òÞ©òÜ’óÕÚºË⁄ºÊÔ ºÞ»òµ·ºË⁄.) 
  142. <br>
  143. <br>5.2 The return Statement 
  144. <br>
  145. <br>The return statement may or may not include an expression. 
  146. <br>ºƒ‹ó÷ º‹‚òµ  óÕÚºÁÚòµÚ óÑÞóÚÃòµÃ óÏ‹óÕ¤óÕ© òÈÚºÏàò×ÈŒ‡© Œ•‚º©Çò§  òÕÊòµÃ òÈÚºÏàò×ȺË⁄. 
  147. <br>
  148. <br>return_statement ::= return; | return expression; 
  149. <br>
  150. <br>Some examples are 
  151. <br>òÖ·ºÖ⁄ òÚȺÓ⁄òµ·ºË⁄ 
  152. <br>
  153. <br>return; 
  154. <br>return ++a; 
  155. <br>return (a * b); 
  156. <br>
  157. <br>The expression being returned can be enclosed in parentheses, but this is not required. When a return statement is encountered, execution of the function is terminated and control is passed back to the calling environment. 
  158. <br>ºÐÚºÏ̺©⁄ò§ ºÊÔ(ºƒ‹ó÷º®ÝºÊÔ) óÑÞóÚÃ(retrun ºÒ⁄òÙÐòÚ⁄ºÊÔ òÞÃòÙÐòÃÞºÊÔ ++a, (a*b) òµ·º÷®Œ†ÂºÓ⁄)òµ  Œ·ÃóÚ‚() òÕÈòÙРºË«óÚ ò§È òÈÚ ò×ȺË⁄. óÕÚò§ º§Ì òµ·Œ†Âòµ  òÜÔŒ¦‹ºÐÚòÖ· ò§ ºÊÔ Œ†Âòµ  òÕúËȺË⁄. ºƒ‹ó÷ º‹‚òµÃ º§Èò£…ò„ÚŒ†Ì ºÐÚòÙÈòµÃ ºÕÌ, óÕ¤òÈÚòµÚ òË⁄óÖÉòµ  ºÀµòµ· ºÁÚŒ‡© ò©ÞòÖ·(control)ºÊÔ óÛÚŒ†‰òµÃ º¶ º¥·Œ‚® òÞÃóÕ· ºÒ⁄º¡Þ òÅ̺’‚ºÐÚòÖ·(òÁ‹ºµ…ò©‚, ò©ÃºË‹ºÐÚòÖ·, passed) Œ®ÃºË⁄. 
  159. <br>(ºƒ‹ó÷ º‹‚òµ· òÚ⁄Œ†Ì ºÐÚº’· óÕ¤òÈÚºÊÔ Œ•‚ òË⁄óÖÉòµÃ ºÀµº§Èò„ÚŒ‡© ò©ÞòÖ·(control)ºÏàºÀµòµ· ºÁÚº’·òÃÞ òÝк×ÚòµÚ óÛÚŒ†‰(óÕ¤òÈÚòµÚ òÚÀóÖ¥òµÃ º®Ýò§  òÕʺÊÔ óÛÚŒ†‰)òÞ…º¡Þ ºÏÌòÕÃŒ®ÃºË⁄ºÊÔ òÖÚŒ‚® ò×ĺËȺË⁄.) 
  160. <br>
  161. <br>If the return statement contains an expression, then the value of the expression is passed back to the calling environment as well. Moreover, this value will be converted, if necessary, to the type of the function as specified in the function definition. 
  162. <br>º§ÌòÕ‰ ºƒ‹ó÷ º‹‚òµ· óÕÚºÁÚòµÚ óÑÞóÚÃòµÃ óÏ‹óÕ¤óÕÚº’·, Œ•‚ óÑÞóÚÃòµÚ Œ®Òòµ  º¶Èº©⁄ò§ ºÊÔ óÛÚŒ†‰òÙÐŒ†Ì ºÒ⁄º¡Þ ò©ÃºË‹(passed)ºÐÚòÖ·ò§ÃºË⁄. ºÍÔòÜ–òµ·, òµ· Œ®Òòµ  Œ•‚Œ†Âòµ· óÕÃòÜÔóÕÚºË⁄º’·, óÕ¤òÈÚò©ÕòµÚòÙÐòÃÞ ò§ ò©ÕóÕÞ óÕ¤òÈÚòµÚ óÚÕ(type)òÞ…º¡Þ º‡ óÛÚºÐÚòÖ·ò§ÃºË⁄. 
  163. <br>
  164. <br>float f(char a, char b, char c) 
  165. <br>{ 
  166. <br>int i; 
  167. <br>.... 
  168. <br>
  169. <br>return i;           /* value returned will be converted to a float */ 
  170. <br>}                       /* Œ®Òòµ  floatòÞ…º¡Þ º‡ óÛÚºÐÚòÖ·ò©‚ ºÏ̺©⁄ò¡ÌºË⁄. */ 
  171. <br>
  172. <br>There can be zero or more return statements in a function. If there is no retrun statement, then control is passed back to the calling environment when the closing brace of the body is encountered. This is called í Þfalling off the end.í µ The following function definition illustrates how two return statements might be used: 
  173. <br>óÕ¤òÈÚºÊÔ òÚÀ(0)Œ®ÞòµÚ óÚ„òµ  ºÍÔ º§Îòµ  ºƒ‹ó÷º‹‚ ºÓ⁄òµ· ò×ÈòµÃ òÈÚ ò×ȺË⁄. º§ÌòÕ‰ ºƒ‹ó÷º‹‚(return statement)òµ· òÙźË⁄º’·, ò‰ÚóÊ‚º¡⁄(ò©ÞòÖ·,control)òµ  óÕ¤òÈÚòµÚ º“‚ò†·º¥… ºË«ºÊÔ ò⁄ÑŒ·ÃóÚ‚}º¥… º§ÌºÁÚŒ†Ì ºÐÚòÙÈòµÃ ºÕÌ óÛÚŒ†‰òµÃ º¶ º¥·º’® ºÒ⁄º¡Þ ò©ÃºË‹(òÁ‹ºµ…ò§ Œ†Ìpassed)ºÐÚòÖ·ò§ÃºË⁄. òµ·Œ†Âòµ  í Þº§Èò§ º§ÉòµÃ ºÀµºÁ·ºÊÔ Œ†Â,(falling off the end.)í µ òµ·ºµ…Œ‡© º¶Èº©⁄ò§ÃºË⁄. ºË⁄òµÌòÙРò©ÀóÚ ò×ȺÊÔ óÕ¤òÈÚò©ÕòµÚºÊÔ òÖ·ºÖ»Œ†Ì ºÑÐŒ®ÞòµÚ ºƒ‹ó÷ º‹‚òµ· òÓ®òÙ‹ò§È òÈÚ ò×ȺÊÔò§  òÃ⁄º“ÄóÕÞºË⁄. 
  174. <br>
  175. <br>double absolute_value(double x) 
  176. <br>{ 
  177. <br>if (x >= 0.0) 
  178. <br>return x; 
  179. <br>else 
  180. <br>return -x; 
  181. <br>} 
  182. <br>
  183. <br>Even though a function returns a value, a program does not need to use it. 
  184. <br>º„ú¡µ óÕ¤òÈÚŒ®  ºƒ‹ó÷ Œ®ÒòµÃ Œ®ÖºÊÔºË⁄Œ‡© óÕ·ºÏÃ, óÕÞ óÔú¡ÞŒ•‚º×¤òµ· Œ•‚Œ†ÂòµÃ òÁ‹òÜ’óÕ© óÕÃòÜÔºÊÔ òÙźË⁄. 
  185. <br>
  186. <br>while (í ƒí ƒ.) { 
  187. <br>getchar();             /* get a char, but do nothing with it */ 
  188. <br>c = getchar()        /* º‹‚ò×к¥… òÖ»ºÊÔºË⁄, óÕÚò§ º§Ì Œ•‚Œ†ÂŒ‡… óÕ¤Œ»Ú òÕú‹·Œ†ÂºÏàóÕÚò§  òÕʺÊÔºË⁄. 
  189. <br>....                        /* c will be processed */ 
  190. <br>} 
  191. <br>
  192. <br>(Œ•‚º÷‹ºËÈŒ„Ì ºƒ‹ó÷ Œ®ÒòµÃ Œ®ÖºÊÔºË⁄ óÕ·ºÏàŒ•‚Œ†ÂòµÃ ºË„ò×¥òÙРòÁ‹òÜ’óÕÚò§  òÕÊòµÃ(ºƒ‹ó÷ òËÞóÁ⁄ò§  òÕÊòµÃ)òÈÚºÏà
  193. <br>ò×ȺË⁄ºÊÔ òÖÚŒ‚®òµ‚ Œ†Â Œ®ÛòʦºËȺË⁄.) 
  194. <br>
  195. <br>5.3 function prototypes 
  196. <br>
  197. <br>Functions should be declared before they are used. ANSI C provides for a new function declaration syntax called the function prototype. A function prototype tells the compiler the number and type of arguments that are to be passed to the function and the type of the value that is to be returned by the function. An example is 
  198. <br>óÕ¤òÈÚºÊÔ Œ•‚Œ†ÂòµÃ òÁ‹òÜ’óÕÚŒ‚® ò©ÃòÙРòéòÖ‚ ºÐÚòÖ·òÕ…º§Ì óÕÞºË⁄. ANSI C ºÊÔ óÕ¤òÈÚ Œ‚®º‡‚óÚÕ(óÕ¤òÈÚ òÝÐóÚÕ, function prototype)òµ·ºµ…Œ‡© º¶Èº©⁄ò§ ºÊÔ òÂȺ¡ÞòÜ· óÕ¤Œ¦‹ òéòÖ‚ Œ¦‹º‹‚ º†ÕòµÃ ò©ÞŒ‡¦óÕÞºË⁄. óÕ¤òÈÚ Œ‚®º‡‚óÚÕ(óÕ¤òÈÚ òÝÐóÚÕ, function prototype) òµ  ò»·óÌÌòµ…º÷‹òÙÐŒ†Ì Œ‡©ò©Õº‡ òÈÚ(arguments) ºÓ⁄òµÚ óÚÕ(type)Œ‡… òÈ«ò×к¥… òÖÚŒ‚®óÕ·ò⁄ ºË⁄. Œ‡©ò©Õº‡ òÈÚ(arguments) ºÓ⁄òµ  óÕ¤òÈÚòÙÐŒ†Ì ò©ÃºË‹ºÐÚòÖ·ò§ Œ‡© Œ•‚ Œ®ÒòµÚ type(óÚÕ)òµ  óÕ¤òÈÚòÙРòµÚóÕ· ºÐÚºÏ̺©⁄ º®ÝºÊÔºË⁄. óÕÞ òÚÈŒ®  ò×ȺË⁄. 
  199. <br>
  200. <br>double sqrt(double); 
  201. <br>
  202. <br>This tells the compiler that sqrt() is a function that takes a single argument of type double and returns a double. The general form of a function prototype is 
  203. <br>òµ·Œ†Âòµ  ò»·óÌÌòµ…º÷‹òÙÐŒ†Ì, sqrt()ºÊÔ óÕ¤òÈÚòµ‚ºÍ® Œ•‚Œ†Âòµ  double óÚÕòµÚ(type double) º‡ òÈÚ óÕÚºÁÚº¥… ò•¤óÕÚŒ‡© doubleòµÃ ºÐÚºÏ̺ƒ®ºË⁄Œ‡© òÖÚŒ‚®óÕ· ò⁄ ºË⁄.  óÕ¤òÈÚ Œ‚®º‡‚óÚÕ(function prototype)òµÚ òµ…º®Úò©Àòµ‚ óÚÕóÂÞºÊÔ òÕú×ÚòÙРò×ȺË⁄. 
  204. <br>
  205. <br>type function_name (parameter type list); 
  206. <br>
  207. <br>The parameter type list is typically a comma-separated list of types. Identifiers are optional; they do not affect the prototype. For example, the function prototype 
  208. <br>º§⁄Œ®Þº‡ òÈÚ óÚÕ(parameter type)º“’º¡µòµ  ò©ÃóÚÕò©ÀòÞ…º¡Þ ò‰⁄º§Èº¡Þ ºÁÚºÈÃòÖ·ò§Ã óÚÕ(types)ºÓ⁄òµÚ º“’º¡µòµ·ºË⁄. 
  209. <br>òµ‚ò˵ò×кÊÔ(char c, int iòÙÐòÃÞ, còÛ  iòÙРóÕ·ºË„ºÐÚºÊÔ Œ†ÂºÓ⁄) òéóµò©Àòµ‚ Œ†ÂºÓ⁄òµ·ºË⁄; Œ•‚ºÓ⁄òµ  Œ‚®º‡‚óÚÕ(prototype)òÙРòÚÀóÖ¥òµÃ ºfl‚ò„Úò§  òÕʺÊÔºË⁄. òÚȺ¥… ºÓ⁄º’·, óÕ¤òÈÚ òÝÐóÚÕòµ  
  210. <br>
  211. <br>void f(char c, int i);       is equivalent to         void f(char, int); 
  212. <br>
  213. <br>The identifiers such as c and i that occur in parameter type lists in function prototypes are not used by the compiler. Their purpose is to provide documentation to the programmer and other readers of the code. The keyword void is used if a function takes no arguments. 
  214. <br>còÛ  iòÛ  Œ®Ûòµ· óÕ¤òÈÚ Œ‚®º‡‚óÚÕ(function prototypes)ºÓ⁄ òÕÈòÙРò×ȺÊÔ º§⁄Œ®Þº‡ òÈÚòµÚ óÚÕ(type)òµÚ º“’º¡µòÙÐòÃÞ º®ÞòµºÐÚºÊÔ òµ‚ò˵ò×Ð(identifier)ºÓ⁄òµ ò»·óÌÌòµ…º÷‹òÙРòµÚóÕ·òÃÞ òÓ®òµ·ò§  òÕʺÊÔºË⁄. Œ•‚ºÓ⁄òµÚ º“’ò©Àòµ  ò‰ÔºÓÞº¥… òµ‰ºÊÔ ºÏÄò×кÓ⁄Œ‡… óÔú¡ÞŒ•‚º×Úº¤‚ºÓ⁄òÙÐŒ†Ì º‹‚òÃÞº¡Þ(º‹‚òÃÞòµÚ òµÚºfl‚º¡Þ,documanetation) ò©ÞŒ‡¦óÕÚŒ‚® òÞÃóÕÞ Œ†Âòµ·ºË⁄. óÁ⁄òÝ̺ÓÞ(keyword) voidºÊÔ º§ÌòÕ‰ óÕ¤òÈÚŒ®  òÖ·ºÖ©óÕÞ Œ‡©ò©Õº‡ òÈÚ(arguments)ºÓ⁄ºÏàò•¤óÕÚò§  òÕÊòÞ…º’· òÁ‹òÜ’ºÐÚòÖ· ò§ÃºË⁄. 
  215. <br>
  216. <br>Also, the keyword void is used if no value is returned by the function. If a function takes a variable number of arguments, then the ellipses(í ƒ) are used. See, for example, the function prototype for printf() in the standard header file stdio.h. 
  217. <br>ºÚÐóÕÞ, keyword voidºÊÔ óÕ¤òÈÚòÙРòµÚóÕ· Œ®ÒòµÃ ºÐÚºÏ̺©⁄ º®Ýò§  òÕÊòµÃ ºÕ̺ÏàòÁ‹òÜ’ºÐÚòÖ·ò§ÃºË⁄. º§ÌòÕ‰ óÕ¤òÈÚŒ®  º§Îòµ  òÈÚòµÚ Œ‡©ò©Õº‡ òÈÚ(arguments) ºÓ⁄òµÚ º‡ òÈÚ(vriable)º¥… ò•¤óÕÚº’·(a variable number of arguments), Œ•‚º÷‹º’· òµº×¦Œ‚®óÚ‚(ellipses)Œ®  òÁ‹òÜ’ºÐÚòÖ· ò§ÃºË⁄. óÑÞò⁄  óÙ⁄ºÍÔóÌÌòµ…òµ‚ stdio.h òÕÈòµÚ printf()  óÕ¤òÈÚòµÚ óÕ¤òÈÚ Œ‚®º‡‚óÚÕ(function prototype)òµÃ º‡·òÕúµ…. 
  218. <br>
  219. <br>Function prototypes allow the compiler to check the code more thoroughly. Also, values passed to functions are properly coerced, if possible. For example, if the function prototype for sqrt() has been specified, then the function call sqrt(4) will yield the correct value. Because the compiler knows that sqrt() takes a double, the int value 4 will be promoted to a double and the correct value will be returned. (See exercise 5, on page 236, for further discussion.) 
  220. <br>óÕ¤òÈÚ òÝÐóÚÕºÓ⁄òµ  ò»·óÌÌòµ…º÷‹Œ®  ò‰ÔºÓÞº¥… ºÍÔòÜ– òÛÃò©ÃóÕÚŒ†Ì ò†·óÀ‹ óÕÚŒ†Ì óÕÞºË⁄. ºÚÐóÕÞ, º§ÌòÕ‰ Œ® ºÊ¥óÕÚºË⁄º’·, óÕ¤òÈÚº¡Þ ò©ÃºË‹ºÐÞ Œ®ÒºÓ⁄òµ  ò©Àò©ÈóÕÚŒ†Ì(ò©ÕóÛÕóÕÚŒ†Ì, ò†©ºÑÐò†©ºfl‚óÕÚŒ†Ì, properly) ò§ º®®ºÐÞºË⁄. òÚȺ¥… ºÓ⁄º’·, sqrt() óÕ¤òÈÚº¥… òÞÃóÕ· óÕ¤òÈÚ Œ‚®º‡‚óÚÕ(function prototype)òµ· ò©ÕòµÚºÐÚòÖ· ò¡ÌºË⁄º’·, Œ•‚º©ÇºË⁄º’· sqrt(4)ºµ…ºÊÔ òµ·ºƒÃòµÚ óÕ¤òÈÚºÊÔ ò©ÕóÛÕóÕÞ Œ®ÒòµÃ ºÔ®º¥·Œ†Ì(òÖѺ‡·óÕÚŒ†Ì, Œ¦·º‡¦óÕÚŒ†Ì, ºÁ·òÖ·ò£…Œ†Ì, yield) ºÐ© Œ†Âòµ·ºË⁄. òÛÞºÂÐóÕÚº’· ò»·óÌÌòµ…º÷‹ºÊÔ sqrt()óÕ¤òÈÚŒ®  double(óÚÕ)òµÃ ò•¤óÕÞºË⁄ºÊÔ Œ†ÂòµÃ òÕÌŒ‡© ò×ȺË⁄. int(ò©ÕòÈÚ) óÚÕòµÚ Œ®Òòµ‚ 4ºÊÔ double óÚÕòÞ…º¡Þ(type)º¡Þ º®Ôº ÌòÖ·òÃÞ òÈÚóÖɺÐÚòÖ·(º§×ò¶ÔòÖ·ò©‚òÃÞ ò§ÃóÖɺÐÚòÖ·,ò§ÃŒ‚ɺÐÚòÖ·,ò§Ãò†ÛºÐÚòÖ· promote)ò§È Œ†Âòµ·Œ‡© ò©ÕóÛÕóÕÞ Œ®Òòµ  ºÏ̺©⁄ò§È Œ†Âòµ·ºË⁄. 
  221. <br>
  222. <br>In traditional C, parameter type lists are not allowed in function declarations. For example, the function declaration of sqrt() is given by 
  223. <br>ò©ÃóŦò©Àòµ‚ CòÙÐòÃÞºÊÔ, º§⁄Œ®Þº‡ òÈÚ º“’º¡µ(parameter list)òµ· óÕ¤òÈÚ òéòÖ‚ºÓ⁄ òÕÈòÙÐòÃÞ óÙȺµ‰ºÐÚòÖ· ò§ ò§  òÕÊòÕÚºË⁄. òÚȺ¥…ºÓ⁄º’·, sqrt()óÕ¤òÈÚòµÚ òéòÖ‚òµ  ºË⁄òµÌŒ‡… Œ®Ûòµ· ò£…òÖ·ò¡ÌºË⁄. 
  224. <br>
  225. <br>double sqrt();                       /* traditional C style */ 
  226. <br>
  227. <br>Even though ANSI C compilers will accept this style, function prototypes are preferred. With this declaration, the function call sqrt(4) will not yield the correct value.(See exercise 5, on page 236.) 
  228. <br>º„ú¡µ ANSI C ò»·óÌÌòµ…º÷‹ºÓ⁄òµ  óÕ¤òÈÚ Œ‚®º‡‚óÚÕ(function prototype)ºÓ⁄òµ· òéóµóÕ· º†Ãºƒ® òµ·º÷‹óÕÞ òÊ⁄ó òµ…òµÃ º®ÝòÕúÓ⁄òµ·Œ†©ò§ º§Ì. òµ·º÷‹óÕÞ òéòÖ‚Œ‡… óÕ¤Œ»Ú óÕÞºË⁄º’·, sqrt(4)ºµ…ºÊÔ óÕ¤òÈÚºÊÔ º®Ôº¥‚ Œ®ÒòµÃ òÖѺ‡·óÕ·ò£…ò§ (ºÔ®ºµ…ò£…ò§ , ºÁ·òÖ·ò£…ò§ , yield) òÕÊŒ†Ì ºÐ© Œ†Âòµ·ºË⁄. 
  229. <br>
  230. <br>Function Prototypes in C++ 
  231. <br>
  232. <br>In C++, function prototypes are required, and the use of void in the parameter type list in both function prototypes and function definitions is optional. Thus, for example, in C++ 
  233. <br>C++ òÕÈòÙÐòÃÞºÊÔ, óÕ¤òÈÚ Œ‚®º‡‚óÚÕ(function prototype)ºÓ⁄òµ· òÜÔŒ¦‹ºÐÚòÖ·ò§ Œ‡©, óÕ¤òÈÚ Œ‚®º‡‚óÚÕ(function prototype) Œ‡… óÕ¤òÈÚ ò©ÕòµÚºÓ⁄(function definition) ºÑÚ º“¤ºÑРòÕÈòÙРò¡·ò׋óÕÚºÊÔ º§⁄Œ®Þº‡ òÈÚ óÚÕ(parameter type)òÕÈòÙÐòÃÞ void òµÚ òÁ‹òÜ’òµ· òͤºÏàºÐÚŒ‡© òÕÈ òͤºÏàºÐÚºÊÔ º§ÈòµÌºÌ º¡Þ óÕ·ºÏàºÐÚºÊÔ Œ†Âòµ· ºÐÞºË⁄. 
  234. <br>
  235. <br>void f()             is equivalent to              void f(void) 
  236. <br>
  237. <br>Note carefully that this results in a conflict with traditional C. In traditional C, a function declaration such as 
  238. <br>òË©ò⁄ÑóÕÚŒ†Ì ºÄ‚óÊ‚óÕ·ºµ…. òµ·Œ†ÂòµÚ Œ†®Œ‡…ºÊÔ Œ†®Œ¦› ò©ÃóŦò©Àòµ‚ C òÛ òµÚ ò¶’ºÏÌòµ·ºË⁄. ò©ÃóŦò©Àòµ‚ CòÙÐòÃÞòµÚ óÕ¤òÈÚ òéòÖ‚òµ  ºË⁄òµÌŒ‡… Œ®ÛºË⁄. 
  239. <br>
  240. <br>int f(); 
  241. <br>
  242. <br>means that f() takes an unknown number of arguments. In traditional C, void is not a keyword. Thus, it cannot be used in a parameter list in a function declaration or function definition. 
  243. <br>int f(); ºÊÔ f()Œ®  Œ‡©ò©Õº‡ òÈÚ ºÓ⁄òµÚ(arguments) òÕÌ òÈÚ òÙźÊÔ òÈÚº¥…(òÕÌ òÈÚ òÙźÊÔ º‡ òÈÚ, º‡ òÈÚ óÚÕ)ò•¤óÕÚºÊÔ Œ†ÂòµÃ òµÚºfl‚óÕÞºË⁄. ò©ÃóŦ CòÙÐòÃÞºÊÔ, voidºÊÔ keyword Œ®  òÕúËȺË⁄. ºÔ®ºµ…òÃÞ, Œ•‚Œ†Âòµ (voidºÊÔ) óÕ¤òÈÚ òéòÖ‚òµ·ºÁÚ óÕ¤òÈÚò©ÕòµÚ òÕÈòÙРò¡·ò׋óÕÚºÊÔ º§⁄Œ®Þº‡ òÈÚ º“’º¡µ(parameter list)òÙÐòÃÞ òÓ®òÙ‹ò§È òÈÚ òÙÅòÙȺÍÚ Œ†Âòµ·ºË⁄. 
  244. <br>
  245. <br>5.4 An Example: Creating a Table of Powers 
  246. <br>
  247. <br>In this section, we give an example of a program that is written using a number of functions. For simplicity, we will write all the functions one after another in one file. The purpose of the program is to print a table of powers. 
  248. <br>
  249. <br>òµ·º†È òÄòÄÚòÙÐòÃÞºÊÔ, º§Îòµ  óÕ¤òÈÚºÓ⁄òµÃ òÁ‹òÜ’óÕ·òÃÞ òÓ®òÙ‹ò§Ã óÕÞ óÔú¡ÞŒ•‚º×¤òµÚ òÚȺ¥… ò⁄ ºË⁄. Œ®ÃºË¤óÕÚŒ†Ì, òÜ®ºƒ‹ºÊÔ óÕÚºÁÚòµÚ óÌÌòµ…òÕÈòÙРóÕÚºÁÚòµÚ óÕ¤òÈÚ ºÒ⁄òÙРºÚкË⁄º¥‚ óÕÚºÁÚòµÚ óÕ¤òÈÚŒ®  òÚ⁄ºÏú¡µ º“¤ºÓ© óÕ¤òÈÚºÓ⁄òµÃ òÓ‚ Œ†Âòµ·ºË⁄. óÔú¡ÞŒ•‚º×¤òµÚ º“’ò©Àòµ  í Úa table of powersí Ûº¥… óÔúƒ®óÊ‚ óÕÚºÊÔ Œ†Âòµ·ºË⁄. 
  250. <br>
  251. <br>#include 
  252. <br>
  253. <br>#define    N    7 
  254. <br>
  255. <br>long    power(int, int); 
  256. <br>void    prn_heading(void); 
  257. <br>void    prn_tbl_of_powers(int); 
  258. <br>
  259. <br>int main(void) 
  260. <br>{ 
  261. <br>prn_heading(); 
  262. <br>prn_tbl_of_powers(N); 
  263. <br>return 0; 
  264. <br>} 
  265. <br>
  266. <br>void prn_heading(void) 
  267. <br>{ 
  268. <br>printf(í Þ\n:::::    A TABLE OF POWERS    :::::\n\ní µ); 
  269. <br>} 
  270. <br>
  271. <br>void prn_tbl_of_powers(int n) 
  272. <br>{ 
  273. <br>int    i,   j; 
  274. <br>
  275. <br>for (i = 1; i<= n; ++i) { 
  276. <br>for (j =1; i <= n; ++j) 
  277. <br>if (j == 1) 
  278. <br>printf(í Þ%ldí µ, power(i, j)); 
  279. <br>else 
  280. <br>printf(í Þ%9ldí µ, power(i, j)); 
  281. <br>putchar(í Ú\ní Û); 
  282. <br>} 
  283. <br>} 
  284. <br>
  285. <br>long power(int m. int n) 
  286. <br>{ 
  287. <br>int    i; 
  288. <br>long    product = 1; 
  289. <br>
  290. <br>for (i = 1; i <= n; ++i) 
  291. <br>product *= m; 
  292. <br>return product; 
  293. <br>} 
  294. <br>
  295. <br>Here is the output of the program: 
  296. <br>
  297. <br>:::::    A TABLE OF POWERS    ::::: 
  298. <br>1    1    1    1    1    1    1 
  299. <br>2    4    8    16    32    64    128 
  300. <br>3    9    27    81    243    729    2187 
  301. <br>í ƒ.. 
  302. <br>
  303. <br>Note that the first column consists of integers raised to the first power, the second column consists of integers raised to the second power, and so forth. In our program we have put the function prototypes near the top of the file. This makes them visible throughout the rest of the file. We used the type long so that the program will produce the same output whether the machine has 2- or 4-byte words. Note that the function power() computes the quantity m(n), which is m raised to the nth power. 
  304. <br>ò†«º†Èò§‚ òÙ·òµ  1 ò©ÞŒ‡–ºÐÞ ò©ÕòÈÚºÓ⁄º¡Þ(raise to the first power,  òÙ‹Œ‚®òÃÞ powerº×  ò©ÞŒ‡–(º’–)òµÃ òµÚºfl‚óÕ’ºËȺË⁄.) Œ¦‹òÖºÐÚòÖ· ò×ȺË⁄. ºÑк†Èò§‚ òÙ·òµ  2ò©ÞŒ‡–ºÐÞ ò©ÕòÈÚºÓ⁄º¡Þ Œ¦‹òÖºÐÚòÖ·ò©‚ ò×ȺË⁄. Œ•‚ºƒ‹Œ‡© so forth(Œ‡ÃòÅÍ, ºÓ–ºÓ–). òÜ®ºƒ‹ºÓ⁄òµÚ óÔú¡ÞŒ•‚º×¤ òÕÈòÙРòÜ®ºƒ‹ºÊÔ Œ•‚ óÌÌòµ…òµÚ Œ…›ºÌ Œ‚®òÙРŒ® Œ„ÌòÜ· Œ‡‡òÙРfunction prototypes ºÓ⁄òµÃ ò§ÑòÖ· ºÃ£òÙȺË⁄. òµ·Œ†Âòµ  Œ•‚ºÓ⁄òµÃ Œ•‚ óÌÌòµ…òµÚ ºÁÚº¤‚ò§ º¶ º¶ÃòµÃ óŦóË òÖ·òÃÞ º‡… òÈÚ ò×ÈŒ†Ì º§ÌºÓ⁄òÖ· ò⁄ ºË⁄. òÜ®ºƒ‹ºÊÔ long óÚÕòµÃ òÁ‹òÜ’óÖȺÊԺͮ Œ•‚Œ†Âòµ  2º®Ôòµ·óÊ‚ºÁÚ 4º®Ôòµ·óÊ‚ ºË¤òÖ·ºÓ⁄òµÃ Œ® ò§Ã º¤‚òË©òÙÐòÃÞ (ºÑÚ ò⁄Ñ òÖ·ºÊРŒ†Âòµ·ºÓ© Œ®ÃòÙÐ) Œ®Ûòµ  outputòµÃ ò¶Þº©¥óÕ· ºÁ… Œ†Âòµ·ºË⁄. power()ºµ…ºÊÔ óÕ¤òÈÚºÊÔ mòµÚ nòÊ„(ò©ÞŒ‡–)òµÚ òÖÑòµÃ Œ‡ÃòÁ®óÕÚºÊԺͮ, Œ•‚Œ†Âòµ  mòµ· nº†Èò§‚ ò©ÞŒ‡–ºÐÞ Œ®ÒòÞ…º¡Þ òƒµŒ® ºÐÚòÖ· ò§ ºÊÔ Œ†Âòµ·ºË⁄. 
  305. <br>
  306. <br>Our program illustrates in a very simple way the idea of top-down design. The programmer thinks of the tasks to be performed and codes each task as a function. If a particular task is complicated, then that task, in turn, can be subdivided into other tasks, each coded as a function. An additional benefit of this is that the program as a whole becomes more readable and self-documenting. 
  307. <br>òÜ®ºƒ‹òµÚ óÔú¡ÞŒ•‚º×¤òµ  top-down (óÕÚóÖ¥ò˵) ºÔÔò×Ðòµ‚òµÚ òÕÃòµ·ºÔÔòÖ·º¥… º§⁄òÜ® Œ®ÃºË¤óÕÚŒ†Ì òÃ⁄º“ÄóÕÞºË⁄. óÔú¡ÞŒ•‚º×Úº¤‚ºÊÔ òÈÚóÖÉ ºÐÚòÖ·ò§ Œ‚® òÞÃóÕÞ Œ‡…òÙÄ,Œ‡…ò©Þ(tasks)ºÓ⁄òµÃ òµŒ®ÀóÕÚŒ‡© óÕ¤òÈÚòÛ  Œ®Ûòµ· Œ®ÀŒ®ÀòµÚ Œ‡…òÙÄ, Œ‡…ò©Þ(task)º¥… ò‰ÔºÓÞóÛÔ óÕÞºË⁄. º§ÌòÕ‰, óÊ„º‡ÃóÕÚŒ†Ì º‡¦òסóÕÚŒ†Ì ºÐÞ Œ‡…ò©Þºµ…º’·, Œ•‚º©ÇºË⁄º’· Œ•‚ Œ‡…ò©ÞºÊÔ ºÏ̺©⁄òÃÞ, óÕ¤òÈÚò†Úº÷… Œ®ÀŒ®À ò‰ÔºÓÞóÛÔºÐÞ ºË⁄º¥‚ Œ‡…ò©ÞºÓ⁄ òÅÍòÞ…º¡Þ subdivided(ºÁfiŒ†Ì ºÁÚºÈÃòÖ·ò§ Œ†Ì, ò×Ñòµ  ºË¤òÞú¡Þ ºÁÚºÈÃòÖ·ò§ Œ†Ì) óÕ© òÈÚ ò×ȺË⁄. òµ·Œ†ÂòµÚ º¶ Œ® ò©Àòµ‚ òµ·ºÓµòµ  óÔú¡ÞŒ•‚º×¤ ò©Ãò†·Œ®  ºÍÔ ò×ÐŒ‚® òÊ⁄òÊ⁄º¡Þ º‹‚òÃÞóÛÔ ºÐÚŒ‡© ºÍÔ òµ‰òµÃ òÈÚ(òµ‰Œ‚® òɉŒ†Ì)ò×ÈŒ†Ì ºÐÞºË⁄.
  308. <br><span id="'1'"></span></td></tr></table><table bgcolor=#ffffff width=100% border=0 cellpadding=4 cellspacing=0 align=center><tr bgcolor=#eeeeee><td width=100% align=left nowrap>ºÓ–º¡µóÌÌòµ… òÙÅòµÌ</td></tr></table><br>
  309.  
  310. <form method=post enctype='multipart/form-data' action='/board/bbs.php3?board=board&line=rdate&fld=&nws=y&page=49&id=165&keyword=&flag=&a_o=&nospam_str=119' onsubmit='return check_submit();'><input type=hidden name=mode value=insert><input type=hidden id='subjectchk' name='fields[subject]' value='Re: ABookOnC Chapter 5 - 5.4'><table bgcolor=#ffffff width=100% border=0 cellpadding=0 cellspacing=0 align=center><tr><td bgcolor=#ffffff align=right><textarea id='contentschk' name='fields[contents]' rows=5 cols=80></textarea></td></tr><tr><td align=right><table width=460 border=0 cellpadding=0 cellspacing=0><tr align=right><td nowrap>  òµ· ºƒÃ</td><td><input type=text id='namechk' name='fields[name]' size=10 maxlength=12 value=''></td><td nowrap>  òÕÔ óÚ‚</td><td><input type='password' id='passwdchk' name='fields[passwd]' size=10 maxlength=8></td><td nowrap>  º‡·òÕÈò‰ÔºÓÞ </td><td><input type=text id='nospamchk' name='fields[nospamchk]' size=5 maxlength=2></td><td><img src='/counter/digit/brush/2.gif' valign=middle><img src='/counter/digit/brush/0.gif' valign=middle></td><td> <input type='Submit' name='Submit' value=' Post '></td></tr></table></td></tr></table></form>
  311.  
  312. <table bgcolor=#ffffff width=100% border=0 cellpadding=1 cellspacing=1 align=center><tr height=24 bgcolor=#666666><td width=50 align=center nowrap><font color=#ffffff><b>º†ÈóÚ‚</b></font></td><td width=90 align=center nowrap><font color=#ffffff><b>ò×ÑòÖò×Ð</b></font></td><td width=90 align=center nowrap><font color=#ffffff><b>ºÁ©ò§Þ</b></font></td><td width=50 align=center nowrap><font color=#ffffff><b>ò¡®óÜÌ</b></font></td><td width=100% align=center nowrap><font color=#ffffff><b>ò©Þ    º“’</b></font></td></tr><tr height=24 bgcolor=#ffffff onMouseOver="this.style.backgroundColor='#ffffff';window.status=('Physical number 169, Virtual number 75, Included 19 lines');return true;" onMouseOut="this.style.backgroundColor='#ffffff'; window.status=('');return true;"><td height=24 width=50 align=center nowrap>75</td><td width=80 align=center nowrap><a href="mailto:goodwolf@white.chungbuk.ac.kr">GoodWolf</a></td><td width=90 align=center nowrap>2001-01-29</td><td width=50 align=center nowrap>649</td><td width=100% nowrap>  <img src='./image/bwtx.gif' border=0 align=absmiddle> <a href='/board/bbs.php3?board=board&line=rdate&mode=view&id=169&fld=&nws=y&page=49&keyword=&flag=&a_o='>NeXTòÙÐòÃÞ òÕÃóÌÌò„Úº×Ñ phpº×Ñ MysQL..òÖ·ºÖ»Œ†Ì óÕÚºÁÚòÙ‹??</a> <font color=orange>(1)</font></td></tr><tr height=24 bgcolor=#ffffff onMouseOver="this.style.backgroundColor='#ffffff';window.status=('Physical number 140, Virtual number 74, Included 11 lines');return true;" onMouseOut="this.style.backgroundColor='#ffffff'; window.status=('');return true;"><td height=24 width=50 align=center nowrap>74</td><td width=80 align=center nowrap><a href="mailto:kotani@chollian.net">ò¦ÞòÊ„óµ‹</a></td><td width=90 align=center nowrap>2001-01-12</td><td width=50 align=center nowrap>690</td><td width=100% nowrap>  <img src='./image/bwtx.gif' border=0 align=absmiddle> <a href='/board/bbs.php3?board=board&line=rdate&mode=view&id=140&fld=&nws=y&page=49&keyword=&flag=&a_o='>ºÁÚò×ÚºÁÞ º§Îòµ· òµÑòÝÐóÕ· ò£…òÂòÜÔ</a> <font color=orange>(2)</font></td></tr><tr height=24 bgcolor=#ffffff onMouseOver="this.style.backgroundColor='#ffffff';window.status=('Physical number 168, Virtual number 73, Included 2 lines');return true;" onMouseOut="this.style.backgroundColor='#ffffff'; window.status=('');return true;"><td height=24 width=50 align=center nowrap>73</td><td width=80 align=center nowrap><a href="mailto:kotani@chollian.net">ò¦ÞòÊ„óµ‹</a></td><td width=90 align=center nowrap>2001-01-29</td><td width=50 align=center nowrap>649</td><td width=100% nowrap>  <img src='./image/bwun.gif' border=0 align=absmiddle> <a href='/board/bbs.php3?board=board&line=rdate&mode=view&id=168&fld=&nws=y&page=49&keyword=&flag=&a_o='>òÕ…ºÏÛ Œ® ºÊÔŒ‚‚.... Œ•‚Œ†Âòµ· 200mºÁÚ ??</a> <font color=orange></font></td></tr><tr height=24 bgcolor=#ffffff onMouseOver="this.style.backgroundColor='#ffffff';window.status=('Physical number 167, Virtual number 72, Included 11 lines');return true;" onMouseOut="this.style.backgroundColor='#ffffff'; window.status=('');return true;"><td height=24 width=50 align=center nowrap>72</td><td width=80 align=center nowrap><a href="mailto:Narzisse@borahome.net">ºÁÚòÚÀò†©</a></td><td width=90 align=center nowrap>2001-01-21</td><td width=50 align=center nowrap>635</td><td width=100% nowrap>  <img src='./image/bwun.gif' border=0 align=absmiddle> <a href='/board/bbs.php3?board=board&line=rdate&mode=view&id=167&fld=&nws=y&page=49&keyword=&flag=&a_o='>ABookOnC º¥… òÚ‹ºƒ® òµ·òÞ©</a> <font color=orange></font></td></tr><tr height=24 bgcolor=#ffffff onMouseOver="this.style.backgroundColor='#ffffff';window.status=('Physical number 166, Virtual number 71, Included 94 lines');return true;" onMouseOut="this.style.backgroundColor='#ffffff'; window.status=('');return true;"><td height=24 width=50 align=center nowrap>71</td><td width=80 align=center nowrap><a href="mailto:Narzisse@borahome.net">ºÁÚòÚÀò†©</a></td><td width=90 align=center nowrap>2001-01-21</td><td width=50 align=center nowrap>614</td><td width=100% nowrap>  <img src='./image/bwun.gif' border=0 align=absmiddle> <a href='/board/bbs.php3?board=board&line=rdate&mode=view&id=166&fld=&nws=y&page=49&keyword=&flag=&a_o='>ABookOnC Chapter 6 - 6.2 Source code Œ„Ìò§ </a> <font color=orange></font></td></tr><tr height=24 bgcolor=#ffffff onMouseOver="this.style.backgroundColor='#ffffff';window.status=('Physical number 165, Virtual number 70, Included 300 lines');return true;" onMouseOut="this.style.backgroundColor='#ffffff'; window.status=('');return true;"><td height=24 width=50 align=center nowrap>70</td><td width=80 align=center nowrap><a href="mailto:Narzisse@borahome.net">ºÁÚòÚÀò†©</a></td><td width=90 align=center nowrap>2001-01-21</td><td width=50 align=center nowrap>497</td><td width=100% nowrap>  <img src='./image/bwre.gif' border=0 align=absmiddle> <a href='/board/bbs.php3?board=board&line=rdate&mode=view&id=165&fld=&nws=y&page=49&keyword=&flag=&a_o='>ABookOnC Chapter 5 - 5.4</a> <font color=orange></font></td></tr><tr height=24 bgcolor=#ffffff onMouseOver="this.style.backgroundColor='#ffffff';window.status=('Physical number 164, Virtual number 69, Included 321 lines');return true;" onMouseOut="this.style.backgroundColor='#ffffff'; window.status=('');return true;"><td height=24 width=50 align=center nowrap>69</td><td width=80 align=center nowrap><a href="mailto:Narzisse@borahome.net">ºÁÚòÚÀò†©</a></td><td width=90 align=center nowrap>2001-01-21</td><td width=50 align=center nowrap>904</td><td width=100% nowrap>  <img src='./image/bwun.gif' border=0 align=absmiddle> <a href='/board/bbs.php3?board=board&line=rdate&mode=view&id=164&fld=&nws=y&page=49&keyword=&flag=&a_o='>ABookOnC Chapter 1 - 1.3</a> <font color=orange></font></td></tr><tr height=24 bgcolor=#ffffff onMouseOver="this.style.backgroundColor='#ffffff';window.status=('Physical number 163, Virtual number 68, Included 6 lines');return true;" onMouseOut="this.style.backgroundColor='#ffffff'; window.status=('');return true;"><td height=24 width=50 align=center nowrap>68</td><td width=80 align=center nowrap><a href="mailto:onion@onion.sarang.net">onion</a></td><td width=90 align=center nowrap>2001-01-16</td><td width=50 align=center nowrap>657</td><td width=100% nowrap>  <img src='./image/bwun.gif' border=0 align=absmiddle> <a href='/board/bbs.php3?board=board&line=rdate&mode=view&id=163&fld=&nws=y&page=49&keyword=&flag=&a_o='>[òסºË·] òÕÃòµ· XXóÌÔº©⁄ºµ…....ò”‹ò”‹ò”‹...</a> <font color=orange></font></td></tr><tr height=24 bgcolor=#ffffff onMouseOver="this.style.backgroundColor='#ffffff';window.status=('Physical number 158, Virtual number 67, Included 17 lines');return true;" onMouseOut="this.style.backgroundColor='#ffffff'; window.status=('');return true;"><td height=24 width=50 align=center nowrap>67</td><td width=80 align=center nowrap>ºÁÚòÚÀò†©</td><td width=90 align=center nowrap>2001-01-16</td><td width=50 align=center nowrap>663</td><td width=100% nowrap>  <img src='./image/bwtx.gif' border=0 align=absmiddle> <a href='/board/bbs.php3?board=board&line=rdate&mode=view&id=158&fld=&nws=y&page=49&keyword=&flag=&a_o='>òÛÞ ò©Þ Œ‚ òÙРºÌ óÕÞ ºË¦òµ  òÕÈóÕ·ò£…òËÞºÁÚòÜÔ??</a> <font color=orange>(1)</font></td></tr><tr height=24 bgcolor=#ffffff onMouseOver="this.style.backgroundColor='#ffffff';window.status=('Physical number 159, Virtual number 66, Included 36 lines');return true;" onMouseOut="this.style.backgroundColor='#ffffff'; window.status=('');return true;"><td height=24 width=50 align=center nowrap>66</td><td width=80 align=center nowrap><a href="mailto:kotani@chollian.net">ò¦ÞòÊ„óµ‹</a></td><td width=90 align=center nowrap>2001-01-16</td><td width=50 align=center nowrap>730</td><td width=100% nowrap>  <img src='./image/bwtx.gif' border=0 align=absmiddle> <a href='/board/bbs.php3?board=board&line=rdate&mode=view&id=159&fld=&nws=y&page=49&keyword=&flag=&a_o='>òË‹Œ®ÀóÕÞ Œ‡©ºfl…..òµ·Œ–‚ òÖ·ºÖ»Œ†Ì óÒ òÖ·òÕ… óÕÚò§ ?</a> <font color=orange>(1)</font></td></tr><tr height=24 bgcolor=#ffffff onMouseOver="this.style.backgroundColor='#ffffff';window.status=('Physical number 157, Virtual number 65, Included 8 lines');return true;" onMouseOut="this.style.backgroundColor='#ffffff'; window.status=('');return true;"><td height=24 width=50 align=center nowrap>65</td><td width=80 align=center nowrap><a href="mailto:onion@onion.sarang.net">onion</a></td><td width=90 align=center nowrap>2001-01-15</td><td width=50 align=center nowrap>772</td><td width=100% nowrap>  <img src='./image/bwtx.gif' border=0 align=absmiddle> <a href='/board/bbs.php3?board=board&line=rdate&mode=view&id=157&fld=&nws=y&page=49&keyword=&flag=&a_o='>[òסºË·] Œ®ÃºË¤óÕÚŒ†Ì óÕÞŒ‚  òÁ‹òÜ’º†ÕòµÃ ò©Þ óÛÈòÙРòÚ‹º©‚òʦºËȺË⁄..</a> <font color=orange>(1)</font></td></tr><tr height=24 bgcolor=#ffffff onMouseOver="this.style.backgroundColor='#ffffff';window.status=('Physical number 145, Virtual number 64, Included 6 lines');return true;" onMouseOut="this.style.backgroundColor='#ffffff'; window.status=('');return true;"><td height=24 width=50 align=center nowrap>64</td><td width=80 align=center nowrap><a href="mailto:onion@onion.sarang.net">onion</a></td><td width=90 align=center nowrap>2001-01-14</td><td width=50 align=center nowrap>742</td><td width=100% nowrap>  <img src='./image/bwtx.gif' border=0 align=absmiddle> <a href='/board/bbs.php3?board=board&line=rdate&mode=view&id=145&fld=&nws=y&page=49&keyword=&flag=&a_o='>[ò§Èº‹‚] openstep òÙÐòÃÞ óÕÞŒ‚ òµ·òÜÔ...</a> <font color=orange>(11)</font></td></tr><tr height=24 bgcolor=#ffffff onMouseOver="this.style.backgroundColor='#ffffff';window.status=('Physical number 141, Virtual number 63, Included 14 lines');return true;" onMouseOut="this.style.backgroundColor='#ffffff'; window.status=('');return true;"><td height=24 width=50 align=center nowrap>63</td><td width=80 align=center nowrap>ºÁÚòÚÀò†©</td><td width=90 align=center nowrap>2001-01-13</td><td width=50 align=center nowrap>762</td><td width=100% nowrap>  <img src='./image/bwtx.gif' border=0 align=absmiddle> <a href='/board/bbs.php3?board=board&line=rdate&mode=view&id=141&fld=&nws=y&page=49&keyword=&flag=&a_o='>ºÃ¥òÊ⁄óÊ‚òÙÐòÃÞ óÕÞŒ‚  óÏ®óÊ‚....</a> <font color=orange>(2)</font></td></tr><tr height=24 bgcolor=#ffffff onMouseOver="this.style.backgroundColor='#ffffff';window.status=('Physical number 123, Virtual number 62, Included 44 lines');return true;" onMouseOut="this.style.backgroundColor='#ffffff'; window.status=('');return true;"><td height=24 width=50 align=center nowrap>62</td><td width=80 align=center nowrap><a href="mailto:kotani@chollian.net">ò¦ÞòÊ„óµ‹</a></td><td width=90 align=center nowrap>2001-01-10</td><td width=50 align=center nowrap>750</td><td width=100% nowrap>  <img src='./image/bwtx.gif' border=0 align=absmiddle> <a href='/board/bbs.php3?board=board&line=rdate&mode=view&id=123&fld=&nws=y&page=49&keyword=&flag=&a_o='>òÚ⁄ºÊÚ G400 ºÓ òÖ…óÙ⁄ºÓÞŒ®  ºÁÚòµÚ ºÜÞŒ»ÑòµÃ òÙ·ºË⁄...</a> <font color=orange>(4)</font></td></tr><tr height=24 bgcolor=#ffffff onMouseOver="this.style.backgroundColor='#ffffff';window.status=('Physical number 135, Virtual number 61, Included 11 lines');return true;" onMouseOut="this.style.backgroundColor='#ffffff'; window.status=('');return true;"><td height=24 width=50 align=center nowrap>61</td><td width=80 align=center nowrap><a href="mailto:cube@cubem.com">Œ„ ò§ÃòÈÚ</a></td><td width=90 align=center nowrap>2001-01-12</td><td width=50 align=center nowrap>612</td><td width=100% nowrap>  <img src='./image/bwtx.gif' border=0 align=absmiddle> <a href='/board/bbs.php3?board=board&line=rdate&mode=view&id=135&fld=&nws=y&page=49&keyword=&flag=&a_o='>òʄ󵋺ÏàóÛÈóÎÚòµ·ò¥Ðº¥… º§ÌºÓÞºÊÔŒ¦‹ºÁÚ...</a> <font color=orange>(3)</font></td></tr></table><table bgcolor=#ffffff width=100% border=0 cellpadding=4 cellspacing=1 align=center><tr bgcolor=#eeeeee><td align=center><a href='/board/bbs.php3?board=board&line=rdate&mode=list&fld=&nws=y&page=40&keyword=&flag=&a_o='>íÙ </a> <a href='/board/bbs.php3?board=board&line=rdate&mode=list&fld=&nws=y&page=41&keyword=&flag=&a_o='>[41]</a> <a href='/board/bbs.php3?board=board&line=rdate&mode=list&fld=&nws=y&page=42&keyword=&flag=&a_o='>[42]</a> <a href='/board/bbs.php3?board=board&line=rdate&mode=list&fld=&nws=y&page=43&keyword=&flag=&a_o='>[43]</a> <a href='/board/bbs.php3?board=board&line=rdate&mode=list&fld=&nws=y&page=44&keyword=&flag=&a_o='>[44]</a> <a href='/board/bbs.php3?board=board&line=rdate&mode=list&fld=&nws=y&page=45&keyword=&flag=&a_o='>[45]</a> <a href='/board/bbs.php3?board=board&line=rdate&mode=list&fld=&nws=y&page=46&keyword=&flag=&a_o='>[46]</a> <a href='/board/bbs.php3?board=board&line=rdate&mode=list&fld=&nws=y&page=47&keyword=&flag=&a_o='>[47]</a> <a href='/board/bbs.php3?board=board&line=rdate&mode=list&fld=&nws=y&page=48&keyword=&flag=&a_o='>[48]</a> <a href='/board/bbs.php3?board=board&line=rdate&mode=list&fld=&nws=y&page=49&keyword=&flag=&a_o='><font color='red'>[49]</font></a> <a href='/board/bbs.php3?board=board&line=rdate&mode=list&fld=&nws=y&page=50&keyword=&flag=&a_o='>[50]</a> <a href='/board/bbs.php3?board=board&line=rdate&mode=list&fld=&nws=y&page=51&keyword=&flag=&a_o='>íÖ¶</a></td></tr></table>
  313.  
  314. <a name="page_bottom"></a><form method=post action='/board/bbs.php3?board=board&line=rdate&fld=&nws=y&page=&keyword=&flag=&a_o='><table width=100% border=0 cellpadding=0 cellspacing=1 align=center><tr><td align=left><a href='/board/bbs.php3?board=board&line=rdate&mode=list&fld=&nws=y&page=49&keyword=&flag=&a_o='>[º“’º¡µº‡·Œ‚®]</a> <a href='/board/bbs.php3?board=board&line=rdate&mode=new&fld=&nws=y&page=49&keyword=&flag=&a_o='>[Œ‚ òÓ®Œ‚®]</a> <br><br></td><td align=right><select name=flag><option value='subject' selected>ò©Þº“’ <option value='contents'>ºÁ·òÜ’ <option value='name'>òµ·ºƒÃ <option value='all'>ò©Ãò†· </select> <input type=search results name=keyword size=20 maxlength=50 value=''> <select name=a_o><option value='AND' selected>AND <option value='OR'>OR </select> <input type=submit value='Search'><br><br></td></tr></table>
  315.  
  316. </td></tr><tr><td align=center valign=bottom><br><a href='/board/rss2.php?items=active'><img src='/images/rssicon.gif' width=15 height=15></a> <img src='/images/copyright.gif' border=0></td></tr><tr><td height=40></td></tr></table></form></div></body></html>
  317.  
  318.