¸®´ª½º ȯ°æ¿¡¼­ÀÇ C ÇÁ·Î±×·¡¹Ö : 7Àå ÇÔ¼ö
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.

Contents

1 ÇÔ¼ö
1.1 ÇÔ¼ö ¸¸µé±â
1.2 ÀԷºΠ: ÇÔ¼ö ÀÎÀÚ
1.3 Ãâ·ÂºÎ : ÇÔ¼ö°ª ¸®ÅÏ
1.4 void
1.5 main ÇÔ¼ö
1.6 int main ?
1.7 exit ÇÔ¼ö
1.8 ¹®Á¦
1.9 ´ñ±Û

1 ÇÔ¼ö

ÇÔ¼ö´Â ¾î¶² ÀÏÀ» ó¸®ÇÏ´Â ´ÜÀ§·Î function ȤÀº subroutine¶ó°í ºÎ¸¥´Ù. Pascal°ú °°Àº ¾ð¾î¿¡¼­´Â procedure¶ó°í ºÎ¸£±âµµ Çϴµ¥, ¿ë¾î¸¸ ´Ù¸¦ »Ó ÀǹÌÇÏ´Â ¹Ù´Â °°´Ù. ÇÔ¼ö´Â ƯÁ¤ÇÑ ¿¬»êÀ» encapsulate(ĸ½¶È­) ÇØ¼­ ÇÁ·Î±×·¥À» ±¸Á¶ÀûÀÌ°í ´Ü¼øÇÏ°Ô ¸¸µé ¼ö ÀÖµµ·Ï µµ¿Í ÁØ´Ù. ¿¹¸¦ µé¾î¼­ ´ç½ÅÀÌ ¸¸µç ÇÁ·Î±×·¥ÀÌ ÀÏÁ¤ÇÑ ¹üÀ§ÀÇ ¼ýÀÚ¸¦ ´õÇÏ´Â ¿¬»êÀ» ¿©·¯¹ø ÇÑ´Ù°í °¡Á¤ÇØ º¸ÀÚ. ±×·¯¸é ´ÙÀ½°ú °°Àº Äڵ带 ¸¸µé ¼ö ÀÖÀ» °ÍÀÌ´Ù.
1 int main() 
2 { 
3     int start = 0; 
4     int end = 0;     
5     int sum = 0; 
6 
7     // 10ºÎÅÍ 120 ±îÁö ´õÇÑ´Ù.  
8     for (start = 10; start < 121; start++) 
9     { 
10         sum = sum+start; 
11     } 
12     printf("%d\n", sum); 
} 
 

ÇÁ·Î±×·¥À» ¸¸µå´Â°Ç °£´ÜÇÏ´Ù. ±×·¸Áö¸¸ 150ºÎÅÍ 170±îÁö ´õÇϰí, ¶Ç 1000ºÎÅÍ 12000±îÁö ´õÇØ¼­ °á°ú¸¦ Ãâ·ÂÇØ¾ß ÇÑ´Ù¸é, ¾î¶±ÇÒ °ÍÀΰ¡. ¹°·Ð ¹«½ÄÇϰÔ? 8¹øºÎÅÍ 11¹ø±îÁö¸¦ forÀÇ Á¶°Ç¸¸ ¹Ù²ã°¡¸é¼­ ÇÊ¿äÇÑ ¼ö¸¸Å­ copy & paste ÇÏ´Â ¹æ¹ýÀÌ ÀÖ°ÚÁö¸¸, ÄÚµåÀÇ ±æÀ̵µ ±æ¾îÁö°í, ³­ÀâÇØÁú °ÍÀÌ´Ù. ´ÙÀ½°ú °°ÀÌ ÇÔ¼ö¸¦ ÀÌ¿ëÇϸé ÀÌ·¯ÇÑ ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ´Ù.

ÀÌ ÇÁ·Î±×·¥Àº ¿ÏÀüÈ÷ ½ÇÇàµÇ´Â ÇÁ·Î±×·¥ÀÌ´Ù. À̸§Àº rangesum.c·Î ÇϰڴÙ.
#include <stdio.h> 
int rangesum(int start, int end); 
 
int main() 
{ 
    printf("%d\n",rangesum(1, 100)); 
    printf("%d\n", rangesum(1000, 1500)); 
    printf("%d\n", rangesum(310, 5000)); 
} 
 
int rangesum(int start, int end) 
{ 
    int sum = 0;  
    for (start; start < end+1; start++) 
    { 
        sum = sum+start; 
    } 
    return sum;  
} 
 
ÇÁ·Î±×·¥ÀÌ ÈξÀ ±ò²ûÇØ Á³À½À» ¾Ë ¼ö ÀÖ´Ù. ÀÌ·¸°Ô ÀÚÁÖ »ç¿ëÇÏ´Â ÄÚµåµîÀ» ÇÔ¼öÈ­ Çϸé ÇÁ·Î±×·¥À» À¯Áöº¸¼öÇÏ±â ÆíÇØ Áö¸ç, ÇÁ·Î±×·¥¿¡ ¹®Á¦°¡ »ý°Üµµ ÇØ´ç ÇÔ¼ö¸¸ ¼öÁ¤ÇÏ¸é µÇ±â ¶§¹®¿¡, µð¹ö±ë Çϱ⵵ ÈξÀ ÆíÇØÁö°Ô µÈ´Ù.

1.1 ÇÔ¼ö ¸¸µé±â

ÇÔ¼ö´Â ¾î¶² Á¤º¸¸¦ ÀԷ¹޾Ƽ­ ó¸®ÇÏ°í ±×°Í¿¡ ´ëÇÑ °ªÀ» µ¹·ÁÁÖ´Â ÀÏÀ» ÇÑ´Ù. ¿©±â¿¡¼­ ¿ì¸®´Â ÇÔ¼ö¸¦ ¸¸µé±â À§Çؼ­´Â ´ÙÀ½ 3°³ÀÇ ±¸¼º¿ä¼Ò°¡ ÇÊ¿äÇÔÀ» ¾Ë ¼ö ÀÖ´Ù.
  • ÀÔ·Â ºÎ
  • 󸮺Î
  • Ãâ·Â ºÎ

ÇÔ¼öÀÇ ¸ð½ÀÀº ´ÙÀ½°ú °°ÀÌ ÄÚµå·Î ³ªÅ¸³¾ ¼ö Àִµ¥, ¸ðµç ÇÔ¼ö´Â ¾Æ·¡ÀÇ ±âº»ÀûÀÎ ÇüŸ¦ µû¸¥´Ù.
return type FunctioNname(arg1, arg2, ....) 
{ 
    // ½ÇÇà ÄÚµå 
    ... 
    ... 
 
    return Value; // °á°ú °ªÀ» ¸®ÅÏÇÑ´Ù. 
} 
 

1.2 ÀԷºΠ: ÇÔ¼ö ÀÎÀÚ

ÇÔ¼ö´Â ¾î¶² ÀÏÀ» ó¸®Çϱâ À§ÇÑ ´ÜÀ§ ÄÚµå Á¶°¢ÀÌ´Ù. ÀÏÀ» ó¸®Çϱâ À§Çؼ­´Â ó¸®ÇÒ µ¥ÀÌÅ͸¦ ¹Þ¾Æ¾ß ÇÒ °ÍÀÌ´Ù. ÀÌ·¯ÇÑ Ã³¸®ÇØ¾ß ÇÏ´Â µ¥ÀÌÅ͸¦ ÀÎÀÚ¶ó°í ÇÑ´Ù. ¿©·¯ºÐÀÌ µÎ°³ÀÇ ¼ö¸¦ ºñ±³Çؼ­ Å« ¼ö¸¦ ã¾Æ³»´Â ÇÁ·Î±×·¥À» ¸¸µé·Á°í ÇÑ´Ù¸é, 2°³ÀÇ ÀÎÀÚ¸¦ °¡Áö´Â ÇÔ¼ö¸¦ ¸¸µé¾î¾ß ÇÒ °ÍÀÌ´Ù.
int diff(int a, int b) 
{ 
    if ( a < b ) 
        return b; 
    else 
        return a; 
} 
 

°¢°¢ÀÇ ÀÎÀڴ ó¸®ÇØ¾ß ÇÏ´Â µ¥ÀÌÅÍ¿Í ÀÏÄ¡Çϴ ŸÀÔÀÌ ¸í½ÃµÇ¾î¾ß ÇÑ´Ù.

1.3 Ãâ·ÂºÎ : ÇÔ¼ö°ª ¸®ÅÏ

ÀÎÀÚ·Î ÁÖ¾îÁø µ¥ÀÌÅ͸¦ °¡Áö°í ¾î¶²ÀÏÀ» ó¸®Çß´Ù¸é, ÇÔ¼ö¸¦ È£ÃâÇÑ ÇÔ¼ö¿¡°Ô ó¸® °ªÀ» ¾Ë·ÁÁà¾ß ÇÒ °ÍÀÌ´Ù. ÀÌ·¸°Ô ÀÚ½ÅÀ» È£ÃâÇÑ ÇÔ¼ö¿¡°Ô ¾Ë·ÁÁÖ´Â °ªÀ» ¸®ÅϰªÀ̶ó°í Çϸç, return ¹®À» ÀÌ¿ëÇØ¼­ °ªÀ» ¸®ÅÏÇÒ ¼ö ÀÖ´Ù. ¸®ÅÏÇÏ´Â °ªÀº ÇÔ¼öÀÇ return type°ú ¹Ýµå½Ã ÀÏÄ¡ÇØ¾ß¸¸ ÇÑ´Ù. »ç¶÷À̶ó¸é ´ëÃæ 󸮰á°ú°¡ ¹®ÀÚ¿­ÀÎÁö, ¼ýÀÚÀÎÁö ¾Ë¾Æ³¾ ¼ö ÀÖÁö¸¸ C ÄÄÆÄÀÏ·¯´Â À̸¦ ±¸ºÐÇØ³¾ ¼ö ¾ø±â ¶§¹®ÀÌ´Ù.

#include <stdio.h> 
 
int sum(int a, int b) 
{ 
  return a+b; 
} 
int main() 
{ 
  int rtv; 
  int a = 20; 
  int b = 10; 
  rtv = sum(a, b); 
  printf("%d + %d = %d\n", a, b, rtv); 
} 
 
sum ÇÔ¼ö´Â intÇü ÀÎÀÚ µÎ°³¸¦ ¹Þ¾ÆµéÀδÙÀ½, À̰ÍÀ» ´õÇÑ °ªÀ» ¸®ÅÏÇÑ´Ù. À§ÀÇ °æ¿ì 30ÀÌ ¸®Å쵃 °ÍÀÌ´Ù. À§ ÇÁ·Î±×·¥À» ½ÇÇà½Ã۱â Àü¿¡ ½ÇÇà°á°ú¸¦ ¹Ì¸® ¿¹ÃøÇغ¸°í, ¿¹Ãø°ú ½ÇÇà°á°ú°¡ ¸Â¾Ò´ÂÁö¸¦ Ã¼Å©ÇØº¸±â ¹Ù¶õ´Ù.

1.4 void

¶§¶§·Î ¸®ÅϰªÀÌ ÇÊ¿ä ¾ø´Â ÇÔ¼öµµ ÀÖÀ» °ÍÀÌ´Ù. ¿¹¸¦ µé¾î À̸§À» ÀÔ·ÂÇϸé "¾È³çÇϼ¼¿ä ´©±¸´©±¸¾¾"¶ó°í ´äº¯ÇÏ´Â ÇÔ¼ö°¡ ÀÖ´Ù°í Çϸé, ±»ÀÌ ÀÚ½ÅÀ» È£ÃâÇÑ ÇÔ¼ö¿¡°Ô °á°ú°ªÀ» ³Ñ°ÜÁÙ ÇÊ¿ä ¾øÀÌ, Àλñ¸»À» Ãâ·ÂÇϰí Á¾·áÇØµµ µÉ °ÍÀÌ´Ù.

void´Â ºñ¾îÀִ ŸÀÔÀ̶õ ¶æÀ¸·Î ÇÔ¼öÀÇ ¸®ÅϰªÀ» void·Î Çϸé, ¸®ÅϰªÀÌ ¾ø´Â ÇÔ¼ö¸¦ ¸¸µé ¼ö ÀÖ´Ù.
#include <stdio.h> 
 
void hello(char *name) 
{ 
    printf("¾È³çÇϼ¼¿ä %s´Ô\n", name); 
} 
 
int main() 
{ 
    hello("yundream"); 
} 
 
ÇÁ·Î±×·¥ÀÇ µµ¿ò¸»À» Ãâ·ÂÇÏ´Â ÇÔ¼ö°°Àº °æ¿ì¿¡µµ ±»ÀÌ ¸®ÅϰªÀÌ ÇÊ¿ä¾øÀ¸¹Ç·Î void ÇüÀ¸·Î ÀÛ¼ºÇصµ µÉ °ÍÀÌ´Ù.
void help() 
{ 
    printf("Usage : ./test a b\n"); 
} 
 

1.5 main ÇÔ¼ö

main Àº Ư¼öÇÑ ÇÔ¼ö·Î, ½ÇÇàµÇ´Â ¸ðµç C·Î ÀÛ¼ºµÈ ÇÁ·Î±×·¥Àº ¹Ýµå½Ã ÇϳªÀÇ main() ÇÔ¼ö¸¦ °¡Áö°í ÀÖ¾î¾ß ÇÑ´Ù. ¸ðµç ÇÔ¼ö´Â main() ÇÔ¼ö¿¡¼­ ½ÃÀ۵ȴÙ. ¼±Á¶»¹ µÇ´Â ÇÔ¼ö¶ó°í º¼¼ö ÀÖ°Ú´Ù.

main ÇÔ¼ö¿ª½Ã ´ÙÀ½°ú °°ÀÌ ¸®Åϰª°ú ÀÎÀÚµéÀ» °¡Áú ¼ö ÀÖÀ¸¸ç, À̵éÀ» ÅëÇØ¼­ ó¸®ÇÒ µ¥ÀÌÅ͸¦ ÀԷ¹ްí, ó¸®µÈ °á°ú¸¦ ¸®ÅÏÇÒ ¼ö ÀÖ´Ù.

int main(int argc, char **argv) 
{ 
  ... 
  ... 
} 
 

´Ù¸¥ ÇÔ¼öµéÀÌ¾ß main ÇÔ¼ö¿¡¼­ È£ÃâµÇ´Ï±î. main ÇÔ¼ö ȤÀº »óÀ§ ÇÔ¼ö·Î ºÎÅÍ ÀÎÀÚ¸¦ ¹ÞÀ» ¼ö ÀÖ´ÙÁö¸¸ mainÇÔ¼ö´Â ¾îµð¿¡¼­ ÀÎÀÚ¸¦ ¹Þ¾Æ¾ß Çϴ°¡.

main ÇÔ¼ö´Â ½ÇÇàÇÏ´Â ¸í·ÉÀ¸·Î ºÎÅÍ ÀÎÀÚ¸¦ ¹Þ´Â´Ù. ±×·¡¼­ ÇÔ¼öÀÎÀÚ¸¦ ¹Þ´Â´Ù¶ó°í ÇÏÁö ¾Ê°í, ½ÇÇàÀÎÀÚ¸¦ ¹Þ´Â´Ù°í ÇÑ´Ù. 2¹øÂ° ÀÎÀÚ¿¡, ÇÁ·Î±×·¥À» ½ÇÇà½Ãų½Ã ÁÖ¾îÁö´Â ÀÎÀÚ°¡ Àü´ÞÀÌ µÈ´Ù. 1¹øÂ° ÀÎÀÚ´Â ¹Þ¾ÆµéÀÎ ÀÎÀÚÀÇ °¹¼ö´Ù.

¿¹¸¦µé¾î Ű¿ì°í ÀÖ´Â µ¿¹°ÀÇ ¸ñ·ÏÀ» ÀԷ¹޾Ƽ­ Ãâ·ÂÇÏ´Â ÇÁ·Î±×·¥ÀÌ ÀÖ´Ù°í °¡Á¤Çغ¸ÀÚ. ÀÌ ÇÁ·Î±×·¥ÀÇ À̸§Àº hello_patÀ¸·Î ¾È³ç °³, ¾È³ç °í¾çÀÌ ½ÄÀ¸·Î ÀԷ¹ÞÀº µ¿¹°ÀÇ À̸§À» Ãâ·ÂÇÑ´Ù. ½©¿¡¼­ ´ÙÀ½°ú °°ÀÌ ½ÇÇàÇÒ °ÍÀÌ´Ù.
# ./hello_pat °³ °í¾çÀÌ ¾Ç¾î  
¾È³ç °³ 
¾È³ç °í¾çÀÌ 
¾È³ç ¾Ç¾î  
 

´ÙÀ½Àº ¿Ï¼ºµÈ ÇÁ·Î±×·¥ÀÌ´Ù.
#include <stdio.h> 
 
int main(int argc, char **argv) 
{ 
  int i = 0; 
 
  printf("µ¿¹°ÀÇ ¼ö : %d\n\n", argc); 
  for (i = 0; i < argc; i++) 
  { 
    printf("¾È³ç %s\n", argv[i]); 
  } 
  return 0; 
} 
 

ÀÌ ÇÁ·Î±×·¥À» ½ÇÇà½ÃÄÑ º¸ÀÚ.
# ./hello_pat °³ °í¾çÀÌ 
µ¿¹°ÀÇ ¼ö : 3 
 
¾È³ç ./hello_pat 
¾È³ç °³ 
¾È³ç °í¾çÀÌ 
 
°ø¹é¹®ÀÚ¸¦ ±âÁØÀ¸·Î ÇØ¼­ ÀÎÀÚÀÇ ¸ñ·ÏÀ» ¹Þ¾ÆµéÀÌ´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. ±×·±µ¥, ¹ö±×°¡ ¹ß°ßµÇ¾ú´Ù. ÇÁ·Î±×·¥À̸§±îÁö ½ÇÇàÀÎÀÚ·Î Æ÷ÇԵǾ ¾È³ç ./hello_pat±îÁö Ãâ·ÂµÇ¾î ¹ö·È´Ù. ÁÖÀÇÇÒ Á¡Àε¥, ÇÁ·Î±×·¥ÀÇ ½ÇÇàÀÎÀÚ´Â ÇÁ·Î±×·¥ÀڽűîÁö¸¦ Æ÷ÇÔÇÑ´Ù. ±×·¯¹Ç·Î ¹è¿­ÀÇ 0 ¹øÂ°´Â ÇÁ·Î±×·¥À̸§ÀÌ µé¾î°£´Ù. ¾Æ·¡´Â ¹ö±×¸¦ ¼öÁ¤ÇÑ ÇÁ·Î±×·¥ÀÌ´Ù.
  printf("µ¿¹°ÀÇ ¼ö : %d\n\n", argc - 1); 
  for (i = 1; i < argc; i++) 
  { 
    printf("¾È³ç %s\n", argv[i]); 
  } 
 
¿©·¯ºÐÀº ¾ÆÁ÷ ¹è¿­°ú Æ÷ÀÎÅ͸¦ ¹è¿ìÁö ¾Ê¾Ò±â ¶§¹®¿¡ main ÇÔ¼öÀÇ ÀÎÀÚÀÎ char **argv°¡ ÀǹÌÇÏ´Â ¹Ù¸¦ ¸íÈ®È÷ ¾ËÁö ¸øÇÒ °ÍÀÌ´Ù. ¹è¿­°ú Æ÷ÀÎÅÍ´Â ´ÙÀ½Àå¿¡¼­ ´Ù·ê °ÍÀÌ´Ù. ¿ì¼±Àº ¸ñ·ÏÀ» ÀúÀåÇϱâ À§ÇÑ µ¥ÀÌÅÍ ´ÜÀ§Á¤µµ·Î¸¸ ¾Ë°í ³Ñ¾î°¡µµ·Ï ÇÏÀÚ.

1.6 int main ?

ÇÔ¼öÀÇ ¸®ÅϰªÀÌ Àڱ⸦ È£ÃâÇÑ ÇÔ¼ö¿¡°Ô °á°ú°ªÀ» ³Ñ°ÜÁÖ±â À§Çؼ­ ÇÊ¿äÇÏ´Ù´Â °ÍÀ» ÀÌÇØÇßÀ» °ÍÀÌ´Ù. ±×·¸´Ù¸é main ÇÔ¼öÀÇ ¸®ÅϰªÀº ¾î¶»°Ô ¼³¸íÇØ¾ß ÇÒ±î. mainÀº °¡Àå »óÀ§¿¡ ÀÖ´Â ÇÔ¼öÀε¥, int main À̶ó¸é ´©±¸¿¡°Ô °ªÀ» ³Ñ°ÜÁÙ °ÇÁö°¡ ±Ã±ÝÇÒ °ÍÀÌ´Ù.

mainÀÇ ¸®ÅϰªÀº ÀÚ½ÅÀ» ½ÇÇà½ÃŲ ÇÁ·Î¼¼½º¿¡°Ô ³Ñ°ÜÁø´Ù. º¸ÅëÀº shell¿¡¼­ ÇÁ·Î±×·¥À» ½ÇÇà½ÃųÅ×´Ï, ½ÇÇà shell·Î °ªÀÌ ¸®ÅϵȴÙ. bash shellÀ» »ç¿ëÇϰí ÀÖ´Ù¸é ´ÙÀ½°ú °°ÀÌ ¸®ÅϰªÀ» È®ÀÎÇØ º¼ ¼ö ÀÖ´Ù.

main ÇÔ¼öÀÇ ¸®ÅϰªÀÌ Á¤¸» Àü´ÞµÇ´ÂÁö È®ÀÎÇØº¸ÀÚ. ¾Æ·¡¿Í °°Àº °£´ÜÇÑ Äڵ带 ¸¸µé°í main_return.c ·Î ÀúÀåÇÑ ÈÄ ÄÄÆÄÀÏ ÇØº¸ÀÚ.
int main(int argc, char **argv) 
{ 
  return 2; 
} 
 

ÀÌÁ¦ ½ÇÇà½Ã۸é, main ÇÔ¼öÀÇ ¸®Åϰª 2°¡ Ãâ·ÂµÇ´Â°É È®ÀÎÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. main ÇÔ¼öÀÇ ¸®ÅϰªÀº ÇÁ·Î±×·¥ÀÌ Á¾·áµÉ¶§ µÇµ¹·ÁÁö´Â °ªÀ̹ǷÎ, ¸®Åϰª À̶õ ¿ë¾î´ë½Å Á¾·á°ªÀ̶õ ¿ë¾î¸¦ »ç¿ëÇÑ´Ù. ¾ÕÀ¸·Î´Â Á¾·á°ªÀ̶õ ¿ë¾î¸¦ »ç¿ëÇϵµ·Ï ÇϰڴÙ.
# ./main_return 
# echo $? 
2 
 

$? ´Â bash shell¿¡¼­ ÃÖ±Ù½ÇÇà ½ÃŲ ÇÁ·Î±×·¥ÀÇ Á¾·á°ªÀ» ÀúÀåÇϰí Àִ Ư¼öº¯¼ö´Ù.

main ÇÔ¼öÀÇ Á¾·á°ªÀº ÇÁ·Î±×·¥ÀÌ ¾î¶»°Ô Á¾·áµÇ¾ú´ÂÁö¸¦ È®ÀÎÇϱâ À§ÇÑ ÁÁÀº ¹æ¹ýÀ» Á¦°øÇÑ´Ù. ÀüÅëÀûÀ¸·Î Unix¿¡¼­´Â ÇÁ·Î±×·¥ÀÌ ÁÖ¾îÁø ÀÏÀ» Á¦´ë·Î ÇØ³Â´Ù¸é 0À» ±×·¸Áö ¾Ê´Ù¸é, 0º¸´Ù Å«°ªÀ» ¸®ÅÏÇϵµ·Ï Çϰí ÀÖ´Ù. ´ÙÀ½Àº ÇÁ·Î±×·¥ÀÇ ¸®ÅϰªÀ» ÀÌ¿ëÇØ¼­ ÇÁ·Î±×·¥À» ½ÇÇàÇÏ´Â ¿¹ÀÌ´Ù. ½©½ºÅ©¸³Æ®·Î ÀÛ¼ºµÇ¾ú´Âµ¥, ÀÌÇØÇϴµ¥¿¡´Â Å©°Ô ¾î·Á¿òÀÌ ¾øÀ» °ÍÀÌ´Ù.
#!/bin/bash 
which mutt 2>&1>&/dev/null 
 
echo -n "Default Mail Client is " 
if [ $? = 0 ] 
then 
    echo "mutt" 
else 
    echo "pine" 
fi 
 
which(1)´Â ½ÇÇà ÇÁ·Î±×·¥ÀÌ Á¸ÀçÇÏ´ÂÁö¸¦ È®ÀÎÇÏ´Â ÇÁ·Î±×·¥ÀÌ´Ù. ¸¸¾à ÇÁ·Î±×·¥ÀÌ Á¸ÀçÇÑ´Ù¸é 0ÀÌ ¸®Åϵǰí, ±×·¸Áö ¾Ê´Ù¸é 0º¸´Ù Å« °ªÀÌ ¸®ÅϵȴÙ. À§ ½ºÅ©¸³Æ® ÇÁ·Î±×·¥Àº ÀÌ·¯ÇÑ Æ¯¼ºÀ» ÀÌ¿ëÇØ¼­ which·Î muttÇÁ·Î±×·¥ÀÌ ÀÖ´ÂÁö È®ÀÎÇÏ´Â ÀÏÀ» ÇÑ´Ù. ¸¸¾à mutt °¡ Á¸ÀçÇÑ´Ù¸é echo "mute"°¡ ½ÇÇàµÇ°í, ±×·¸Áö ¾Ê´Ù¸é echo "pine"ÀÌ ½ÇÇàµÈ´Ù.

1.7 exit ÇÔ¼ö

exit(2)ÇÔ¼ö´Â ÇÁ·Î±×·¥À» Á¾·á½Ã۱â À§Çؼ­ »ç¿ëÇÏ´Â ÇÔ¼ö´Ù. ¾î¶² À§Ä¡¿¡¼­µçÁö exit ÇÔ¼ö¸¦ È£ÃâÇϸé ÇÁ·Î±×·¥Àº ±× Áï½Ã Á¾·áµÈ´Ù. exit ÇÔ¼ö´Â ÇϳªÀÇ intÇü ÀÎÀÚ¸¦ ¹Þ¾ÆµéÀ̴µ¥, ÀÌ ÀÎÀÚ°ªÀº ÇÁ·Î±×·¥ÀÇ Á¾·á°ªÀ¸·Î »ç¿ëµÈ´Ù.
int main(int argc, char **argv) 
{ 
    exit(2);     
} 
 
ÄÄÆÄÀÏ ÈÄ echo $? ¸¦ ½ÇÇàÇϸé 2°¡ Ãâ·ÂµÇ´Â°É È®ÀÎÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

1.8 ¹®Á¦

  1. ÀÔ·ÂµÈ ¼ýÀÚÀÇ Á¦°ö±¸Çϱâ
    ÇϳªÀÇ ¼ýÀÚ¸¦ ÀÔ·ÂÇϸé Á¦°öÇÑ °á°ú¸¦ ¸®ÅÏÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇ϶ó. Á¦°öÇÏ´Â ÄÚµå´Â ÇÔ¼öÇüÅ·ΠÀÛ¼ºµÇ¾î¾ß ÇÑ´Ù.
  2. intÇü °ªÀ» ¸®ÅÏÇÏ´Â ÇÔ¼ö°¡ ÀÖ´Ù. ±×·±µ¥ ÇÔ¼ö¿¡¼­ ¾Æ¹«°Íµµ ¸®ÅÏÇÏÁö ¾ÊÀ¸¸é ¾î¶»°Ô µÉ±î ?
  3. ÇÁ·Î±×·¥ Áß°£¿¡ Á¾·á½ÃŰ°í ºüÁ®³ª¿Ã·Á¸é ¾î¶»°Ô ÇØ¾ß ÇÒ±î ?
  4. main ÇÔ¼öÀÇ return °ªÀ» ¾î¶²¿ëµµ·Î »ç¿ëÇÒ ¼ö ÀÖÀ»Áö »ý°¢ÇØ º¸ÀÚ.

1.9 ´ñ±Û

EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.