C ÇÁ·Î±×·¡¹Ö 8ȸ
¿À´ÃÀº È帧 Á¦¾îÁß ¹Ýº¹¹®¿¡¼ Àú¹ø¿¡ ÇÏÁö¸øÇÑ while¿Í do-while¿¡ ´ëÇØ °øºÎÇϰڽÀ´Ï´Ù. ±×¸®°í ³ª¼ ÇÔ¼ö¿¡ °ª Àü´ÞÇÏ´Â ¹æ¹ý°ú ¹è¿¿¡ ´ëÇØ °øºÎÇϵµ·Ï ÇÏÁÒ. 1. while¹® ¿ì¼± while¹®¿¡ ´ëÇØ ¾Ë¾Æº¸ÁÒ. while¹®Àº for¹®Ã³·³ ¹Ýº¹¹®ÀÌÁö¸¸ for¹®º¸´Ù »ç¿ë¹ýÀº °£´ÜÇÕ´Ï´Ù. ¿ì¼± »ç¿ë¹ýÀ» ¾Ë¾Æº¸ÁÒ. while(Á¶°Ç) { /* Çϳª ÀÌ»óÀÇ C¾ð¾î ¹®Àå */ . . } ÀÌ·¸°Ô »ç¿ëÇϴµ¥, ¿©±â¼ Á¶°ÇÀÌ ¸¸Á·ÇÏ´Â µ¿¾È¸¸ while¹® ³»ÀÇ ¹®ÀåµéÀ» ½ÇÇàÇÕ´Ï´Ù. À̰Š¿ª½Ã ¹®ÀåÀÌ ÇϳªÀ̸é {}¸¦ »ý·«ÇÒ¼ö ÀÖ½À´Ï´Ù. ±×·³ ¿¹Á¦¸¦ º¼±î¿ä? /* ÆÄÀÏ À̸§ : C8-1.C ÇÁ·Î±×·¥ ³»¿ë : while¹® ¿¹Á¦.. */ #include <stdio.h> void main() { int a=1; int total=0; while(a<=100) { total+=a; a++; } printf("%d\n",total); } while¹®À» º¸¸é a<=100À϶§ ±îÁö¸¸ ¹Ýº¹ÇÏ´Â ¹Ýº¹¹® ÀÔ´Ï´Ù. while¹® ¾È¿¡¸¦ º¸¸é total+=a¸¦ Çϰí Àִµ¥, ÀÌ°Ç total=total+a¶ó´Â °ÍÀº ¾ðÁ¨°¡ ¼³¸í Çß°í ÀÌ°É ½ÇÇà ÇÑ ÈÄ¿¡ a++·Î a¸¦ 1Áõ°¡½Ã۰í ÀÖ½À´Ï´Ù. ÀÌ·¸°Ô °è¼Ó µÇ´Ù º¸¸é total=total+1, total=total+2... ÀÌ·¸°Ô °è¼Ó ½ÇÇàÀÌ µÇ°ÚÁÒ? ±×·¡¼ ³ªÁß¿£ 1ºÎÅÍ 100±îÁöÀÇ ÇÕÀÌ total¿¡ µé¾î°¡°í ±×°ÍÀÌ Ãâ·ÂµÇ°Ô µÇÁÒ. ±×·¯¹Ç·Î 5050ÀÌ Ãâ·ÂµÊ´Ï´Ù. 2. do-while¹® ±×·³ À̹ø¿£ do-while¹®¿¡ ´ëÇØ ¾Ë¾Æº¸ÁÒ. do-while¹®µµ while¹®°ú ºñ½ÁÇÏÁö¸¸. ÀÌ°Ç Á¶°ÇÀÌ ¹Ø¿¡ ÀÖ´Ù´Â °ÍÀÌ ´Ù¸§´Ï´Ù. ¿ì¼± »ç¿ë¹ýÀ» º¸ÁÒ. do { /* Çϳª ÀÌ»óÀÇ C¾ð¾î ¹®Àå */ . . } while(Á¶°Ç); ÀÌ·¸°Ô »ç¿ëÇÕ´Ï´Ù. À̰ÍÀº óÀ½¿¡ ¹®ÀåµéÀÌ ½ÇÇà µÈ ÈÄ, Á¶°ÇÀÌ ¸¸Á·ÇÏ¸é ¶Ç ½ÇÇà½Ã۰í ÇÏ´Â ½ÄÀ¸·Î ½ÇÇàµÊ´Ï´Ù. while¹®¿¡¼´Â óÀ½ºÎÅÍ Á¶°ÇÀÌ ¸¸Á·ÇÏÁö ¾ÊÀ¸¸é Çѹøµµ ½ÇÇàµÇÁö ¾ÊÁö¸¸, do-while¹®Àº óÀ½ºÎÅÍ Á¶°ÇÀÌ ¸¸Á·ÇÏÁö ¾Ê´õ¶óµµ ÃÖ¼ÒÇÑ
ÇѹøÀº ½ÇÇàÀÌ µÊ´Ï´Ù. /* ÆÄÀÏ À̸§ : C8-2.C ÇÁ·Î±×·¥ ³»¿ë : do-while¹® ¿¹Á¦.. */ #include <stdio.h> #include <conio.h> void main() { int yn; do { printf("Continue(Y/N)?"); yn=getche(); putchar('\n'); }while(yn!='Y' && yn!='N'); } ÀÌ ÇÁ·Î±×·¥Àº "Continue(Y/N)?"À̶ó´Â ¸Þ½ÃÁö¸¦ Ãâ·ÂÇϰí Y¶Ç´Â NÀÌ ÀԷµǸé Á¾·áµÇ°í ´Ù¸¥ °ÍÀÌ ÀÔ·ÂµÇ¸é °è¼Ó ÀÔ·ÂÀ» ¹Þ´Â °Í ÀÔ´Ï´Ù. Àß ºÐ¼®ÇØ º¸½Ã¸é ¿Ö ±×·¸°Ô µÇ´ÂÁö´Â ½±°Ô ¾Æ½Ç¼ö ÀÖÀ»°Ì´Ï´Ù. 3. goto¹® goto¹®Àº »ç½Ç °Á¿¡ ³ÖÀ¸·Á°í ÇÏÁö ¾Ê¾ÒÁö¸¸, ±×·¡µµ CÀÇ ÀϺκРÀ̹ǷΠ¼³¸íÀº µå¸®ÁÒ. goto¹®Àº ƯÁ¤ ¶óº§·Î ¶Ù¾î ³Ñ¾î ¹ö¸®´Â ±â´ÉÀ» ÇÕ´Ï´Ù. »ç¿ë¹ýÀº... goto ¶óº§; ÀÌ·¸°Ô »ç¿ëÇÏÁÒ. ¿©±â¼ ¶óº§Àº °°Àº ÇÔ¼ö ³»¿¡ Á¸ÀçÇØ¾ß ÇÕ´Ï´Ù. ¶óº§ÀÇ Á¤ÀÇ´Â ÀÌ·¸°Ô ÇÏÁÒ. ¶óº§¸í: ¶óº§¸íÀº ÇÔ¼ö¸íÀ̳ª º¯¼ö¸í°ú´Â °ãÃĵµ »ó°ü ¾ø°í ¼·Î ÇÔ¼ö°¡ ´Ù¸£´Ù¸é ¶óº§¸íÀÌ °ãÃĵµ µÊ´Ï´Ù. ÇÏÁö¸¸ °°Àº ÇÔ¼ö ³»¿¡¼ ¶óº§¸íÀÌ °ãÃļ´Â ¾ÊµÇ¸ç, ¶óº§¸íµµ ½Éº¼°ú °°Àº ±ÔÄ¢¿¡ µû¶ó Áö¾îÁ®¾ß ÇÏÁÒ. Áï ¶óº§¸íÀÇ Ã¹¹®ÀÚ´Â ¹Ýµå½Ã ¿µ¹®ÀÚ ¶Ç´Â ¾ð´õ½ºÄÚ¾î(_)°¡ ¿Í¾ß Çϰí, ±× µÚ·Î´Â ¿µ¹®ÀÚ, ¼ýÀÚ, ¾ð´õ½ºÄھ ¿Ã¼ö ÀÖ´Ù´Â °ÍÀÌÁÒ. ¶ÇÇѰ¡Áö ¶óº§À» Á¤ÀÇÇÒ¶§´Â µÚ¿¡ :¸¦ ºÙÀÌÁö¸¸, goto¹®¿¡¼ ¶óº§À» ¾µ¶§´Â ÀÌ°É ¾²¸é ¾ÊµÈ´Ù´Â °Í ÀÔ´Ï´Ù. ¿¹¸¦ µé¾î Label: ÀÌ·± ¶óº§ÀÌ ÀÖÀ»¶§ goto Label:; ÀÌ·¸°Ô ÇØ¼´Â ¾ÊµÇ°í, goto Label; ÀÌ·¸°Ô ÇØ¾ß ÇÑ´Ù´Â °Í ÀÔ´Ï´Ù. goto¹®Àº C°°Àº ±¸Á¶È ÇÁ·Î±×·¡¹Ö ¾ð¾î ¿¡¼´Â °ÅÀÇ ¾µ¸ð°¡ ¾ø½À´Ï´Ù. ¶ÇÇÑ ´ëºÎºÐÀÇ C ÇÁ·Î±×·¡¸ÓµéÀº goto¹®ÀÇ »ç¿ëÀ» ²¨·ÁÇϰí ÀÖ½À´Ï´Ù. ÀÌÀ¯´Â goto¹®À» ¸¹ÀÌ »ç¿ëÇÒ °æ¿ì ÇÁ·Î±×·¥À» º¸±â°¡ Èûµé¾îÁö°í º¹ÀâÇØ º¸À̱⠶§¹®ÀÌÁÒ. ±×·¯¹Ç·Î µÇµµ·Ï goto¹®ÀÇ »ç¿ëÀº ÁÙÀ̰í, ÇÔ¼ö³ª C¾ð¾îÀÇ °·ÂÇÑ Á¦¾î¹®µéÀ» »ç¿ëÇØ ÇÁ·Î±×·¡¹ÖÀ» ÇÏ´Â ½À°üÀ» µé¿©¾ß ÇÕ´Ï´Ù. 4. ÇÔ¼ö¿¡ °ª Àü´Þ. ¿©·¯ºÐÀÌ ¾î¶² ÇÔ¼ö¸¦ ¸¸µç´Ù°í ÇսôÙ. ±× ÇÔ¼ö´Â printf¿Í °°ÀÌ ¾î¶² ³»¿ëÀ» ȸ鿡 Ãâ·ÂÇÏ´Â ÇÔ¼öÀÌÁÒ. ±×·±µ¥ ȸ鿡 ¹«¾ð°¡¸¦ Ãâ·ÂÇϱâ À§Çؼ± ±× Ãâ·ÂÇÒ ³»¿ëÀ» Àü´Þ¹Þ¾Æ¾ß °ÚÁÒ? ¾î¶»°Ô Çϸé Àü´Þ¹ÞÀ»¼ö ÀÖÀ»±î¿ä? ¹Ù·Î ±× ¹æ¹ý¿¡ ´ëÇØ¼ ÀÚ¼¼È÷ ¾Ë¾Æº¸µµ·Ï ÇÏÁÒ. Àú¹ø 2ȸ¶§ ÇÔ¼ö¿¡ ´ëÇØ ¹è¿ï¶§ Àμö¶ó´Â °ÍÀÌ ÀÖ¾ú½À´Ï´Ù. ±×¶§ Àμö´Â ÇÔ¼ö°¡ ¾î¶² 󸮸¦ ÇÒ¶§ ÇÊ¿äÇØ¼ Àü´Þ¹ÞÀ» µ¥ÀÌÅͶó°í ÇßÁÒ. ÀÌ Àμö¸¦ ÅëÇØ¼ ÇÔ¼ö°¡ °ªÀ» Àü´Þ¹ÞÀ»¼ö ÀÖ½À´Ï´Ù. (1) Àμö°¡ Á¤È®È÷? Àμö¿¡ ´ëÇØ Á¤È®È÷ ¸»ÇÏÀÚ¸é ÇÔ¼ö¿¡¼ °ªÀ» Àü´Þ¹Þ´Âµ¥ ¾²ÀÌ´Â º¯¼ö¸¦ ¸»ÇÕ´Ï´Ù. Áï º¯¼öÀÇ ÀÏÁ¾ÀÌÁÒ. ¾Æ´Ï ÀÏÁ¾ÀÌ ¾Æ´Ï°í º¯¼ö¶ó°í
»ý°¢Çϼ¼¿ä. ´Ü ÇÔ¼ö ½ÃÀ۽ÿ¡ Àü´Þ¹ÞÀ» °ªÀÌ µé¾î°¡°Ô µÊ´Ï´Ù. (2) Àμö ¸¸µé±â. Àμö´Â ¾î¶»°Ô ¸¸µé±î¿ä? Àú¹ø 2ȸ¶§ ÇÔ¼ö ¸¸µå´Â ¹æ¹ý¿¡ ³ª¿Í ÀÖ´ø°Íó·³ ÇÔ¼öÀ̸§ ¿·¿¡ ÀÖ´Â ()¾È¿¡ Àμö¸¦ ³ª¿ÇØ ÁÖ¸é µÊ´Ï´Ù. ()¾È¿¡ ¸¶Ä¡ º¯¼ö¸¦ ¼±¾ðÇϵíÀÌ Àμö¸¦ ¸¸µé¾î ÁÖ¸é µÇÁÒ. (Àμö°¡ º¯¼ö´Ï±î ´ç¿¬ÇÑ °ÅÁÒ?) ¿¹¸¦ µé¾î ¾Æ¹« °ªµµ ¸®ÅÏÇÏÁö ¾Ê°í, Àμö´Â Á¤¼öÇüÅ a¿Í,b¸¦ °¡Áø func¶ó´Â ÇÔ¼ö´Â void func(int a, int b) { . . . } ÀÌ·±½ÄÀ¸·Î ¸¸µé¼ö ÀÖ°ÚÁÒ? (3) ÀμöÀÇ »ç¿ë ÀÌÁ¦ Àμö°¡ º¯¼ö¶ó´Â°Ç ¾Ë°í °è½ÃÁÒ? ±×·¯¹Ç·Î Àμö »ç¿ëÀº º¯¼ö¿Í ¶È°°´Ù´Â °Íµµ ¾Æ½Ã°ÚÁÒ? ¹¹ ´õÀÌ»ó ¼³¸íµå¸± °ÍµÎ ¾ø±º¿ä. ±×·³ Áß¿äÇÑ°Í ÇѰ¡Áö ¸»¾¸µå¸®ÁÒ. ¿ì¼± ¿¹Á¦¸¦ º¸¼¼¿ä. /* ÆÄÀÏ À̸§ : C8-3.C ÇÁ·Î±×·¥ ³»¿ë : ÇÔ¼ö ¿¹Á¦ */ #include <stdio.h> void func(int data) { data=10; } void main() { int var=1; func(var); printf("%d\n",var); } ÀÌ ¿¹Á¦¸¦ Àß º¸¼¼¿ä. ¿©±â¼ mainÇÔ¼ö¿¡´Â varÀ̶õ º¯¼ö°¡ ÀÖÁÒ? ±×¸®°í ±× º¯¼ö¿¡ ÃʱⰪÀ¸·Î 1À» ÁÖ¾úÁÒ. ±×·±´ÙÀ½ func¸¦ È£ÃâÇߴµ¥, Àμö·Î varÀ̶õ º¯¼ö¸¦ ÁÖ¾úÁÒ? ±×·³ funcÇÔ¼ö¸¦ º¸¼¼¿ä. funcÇÔ¼ö¿¡´Â data¶ó´Â Àμö°¡ Àִµ¥ ÀÌ ÇÔ¼ö È£Ãâ½Ã¿¡ varÀ̶õ º¯¼ö¿¡´Â 1ÀÌ µé¾îÀÖ¾úÀ¸¹Ç·Î data¿¡µµ 1ÀÌ µé¾î°©´Ï´Ù. func¿¡¼´Â data¸¦ 10À¸·Î ¹Ù²Ù°í ÀÖ±º¿ä. ±×·³ ÀÌ·¸°Ô data¸¦ 10À¸·Î ¹Ù²å´Âµ¥, mainÇÔ¼öÀÇ varÀ̶õ º¯¼öµµ 10À¸·Î ¹Ù²ð±î¿ä? ÀÌ ÇÁ·Î±×·¥À» ½ÇÇàÇØ º¸½Ã¸é ¾Æ½Ã°ÚÁö¸¸ ¹Ù²îÁö ¾Ê½À´Ï´Ù. ÇÔ¼ö È£Ãâ½Ã¿¡ º¯¼ö¸¦ Àμö·Î ÁÖ¸é ´ÜÁö º¯¼ö¿¡ µé¾îÀÖ´Â °ªÀ» º¹»çÇØ¼ Àü´ÞÇØ ÁÙ »ÓÀÌÁÒ. ±×·¯¹Ç·Î ¹Ù²îÁö ¾Ê½À´Ï´Ù. ÀÌ·¸°Ô ÇÔ¼ö¿¡ °ª Àü´Þ½Ã º¯¼ö¿¡ µé¾îÀÖ´Â °ªÀ» ±×³É º¹»çÇØ¼ Àü´ÞÇØ Áִ ȣÃâ ¹æ¹ýÀ» Passing by
value¶ó°í ÇÕ´Ï´Ù. 5. ¹è¿ ¹è¿Àº Àú¹ø¿¡ ¹®ÀÚ¿À» ¹è¿ï¶§ ¹®ÀÚ¹è¿ ¶§¹®¿¡ °£·«È÷ ¼³¸í µå¸° ÀûÀÌ ÀÖ½À´Ï´Ù. À̹ø¿£ ±× ¹è¿¿¡ ´ëÇØ Á»´õ ÀÚ¼¼È÷ ¹è¿öº¸µµ·Ï ÇϰڽÀ´Ï´Ù. ¹è¿À̶õ µ¥ÀÌÅÍ ±¸Á¶ÀÇ Çϳª·Î µ¥ÀÌÅ͵éÀ» ÀÏÁ¤ ¼ö ¸¸Å ´Ã¾î³õÀº ±¸Á¶¶ó°í »ý°¢ÇÏ½Ã¸é µÊ´Ï´Ù. À̶§ °¢°¢ÀÇ µ¥ÀÌÅ͸¦ ¹è¿ÀÇ ¿ø¼Ò¶ó°í ÇÕ´Ï´Ù. ¹è¿Àº ¸¹Àº µ¥ÀÌÅ͸¦ °ü¸®ÇÒ¶§ ÆíÇÏÁÒ. (1) ¹è¿ÀÇ ¼±¾ð ¹è¿Àº º¯¼ö¿Í ¸¶Âù°¡Áö·Î »ç¿ëÀü¿¡ ¼±¾ðÇØ¾ß ÇÕ´Ï´Ù. ¼±¾ðÀº ´ÙÀ½°ú °°ÀÌ ÇÕ´Ï´Ù. µ¥ÀÌÅÍÇüÅ ¹è¿¸í[¹è¿Å©±â]; ÀÌ·¸°Ô ÇÏÁÒ. ¿©±â¼ µ¥ÀÌÅÍ ÇüÅ´ ¹è¿¿¡ ÀúÀåÇÒ µ¥ÀÌÅÍ¿¡ ÇüÅÂÀ̰í, ¹è¿¸íÀº ±× ¹è¿À» »ó¡ÇÏ´Â ½Éº¼, ¹è¿ Å©±â´Â ¸î°³ÀÇ µ¥ÀÌÅ͸¦ ´Ã¾î³õÀ» °Í ÀÎÁö¸¦ Á¤ÇÏ´Â °Í ÀÔ´Ï´Ù. ¿¹¸¦ µé¾î Á¤¼ö ÇüÅÂÀÇ µ¥ÀÌÅ͸¦ 10°³ ´Ã¾î³õÀº Array¶ó´Â ¹è¿Àº int Array[10]; ÀÌ·¸°Ô ¼±¾ðÇÕ´Ï´Ù. (2) ¹è¿ÀÇ »ç¿ë ¹è¿À» ¼±¾ðÇßÀ¸¸é »ç¿ë¹ýµµ ¾Ë¾Æ¾ß °ÚÁÒ? ¹è¿ »ç¿ëÀº ¹è¿¸í[÷ÀÚ] = °ª; º¯¼ö = ¹è¿¸í[÷ÀÚ]; ÀÌ·± ½ÄÀ¸·Î »ç¿ëÇÕ´Ï´Ù. ¿©±â¼ ÷ÀÚ´Â ¹è¿ÀÇ ´Ã¾î³õÀº µ¥ÀÌÅÍÁß ¸î¹øÂ° ¿ø¼Ò¸¦ »ç¿ëÇÒ °ÇÀÎÁö¸¦ Á¤ÇÏ´Â °Í ÀÔ´Ï´Ù. ±×¸®°í ÷ÀÚÀÇ ½ÃÀÛÀº 0ºÎÅͶó´Â °ÍÀ» ±â¾ïÇϼ¼¿ä. ¿¹¸¦ µé¾î ¾Æ±î Array¶ó´Â ¹è¿ÀÇ Ã¹¹øÂ° ¿ø¼Ò¿¡ 10À» ³ÖÀ»¶§´Â Array[0]=10; ÀÌ·¸°Ô ÇÏ´Â °ÍÀÌÁÒ. (÷ÀÚÀÇ ½ÃÀÛÀÌ 0À̹ǷΠù¹øÂ° ¿ø¼ÒÀÇ Ã·ÀÚ´Â 0) (3) ¹è¿ÀÇ ÃʱⰪ º¸Åë º¯¼öµéÀº ¼±¾ðÇÒ¶§ ÃʱⰪÀ» ÁÙ¼ö ÀÖ½À´Ï´Ù. ±×·±µ¥ ¹è¿¿¡ ÃʱⰪÀ» ÁÙ¼ø ¾øÀ»±î¿ä? ´ç¿¬È÷ ÇÒ¼ö ÀÖÁÒ..! ±×·±µ¥ ÀÏ¹Ý º¯¼öÀÇ ÃʱⰪÀ» ÁÖ´Â °Íº¸´Ù Á» º¹ÀâÇÕ´Ï´Ù. ¹è¿ÀÇ ÃʱⰪÀ» ÁÖ´Â ¹æ¹ýÀº µ¥ÀÌÅÍÇüÅ ¹è¿¸í[¹è¿Å©±â] = { 1¹øÂ° ¿ø¼ÒÀÇ ÃʱⰪ, 2¹øÂ° ¿ø¼ÒÀÇ ÃʱⰪ, ... }; ÀÌ·¸°Ô ÇÏ¸é µÊ´Ï´Ù. Áï {}¾È¿¡ °¢ ¿ø¼ÒÀÇ ¼ø¼´ë·Î Ãʱ⠰ªÀ» Àû¾îÁÖ¸é µÇ´Â °ÍÀÌÁÒ. ¿¹¸¦ µé¾î ¾Æ±î Array¹è¿¿¡ 1ºÎÅÍ 10±îÁöÀÇ ÃʱⰪÀ» ³Ö¾î ¼±¾ðÇϸé int Array[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; ÀÌ·¸°Ô µÊ´Ï´Ù. ÀÌ·¸°Ô Çϸé Array[0]¿¡´Â 1ÀÌ, Array[1]¿¡´Â 2°¡... Array[9]¿¡´Â 10ÀÌ. ÀÌ·±½ÄÀ¸·Î µé¾î°©´Ï´Ù. ¹è¿À» ÃʱⰪÀ» ÁÖ¾î¼ ¼±¾ðÇÒ¶§´Â ¹è¿Å©±â¸¦ »ý·«Çصµ µÊ´Ï´Ù. Áï À§¿¡°ÍÀº int Array[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; ÀÌ·¸°Ô¸¸ ÇØ Á൵ µÈ´Ù´Â °ÍÀÌÁÒ. ÀÌ·¸°Ô ÇØ ÁÖ¸é ÃʱⰪÀÌ 10°³À̹ǷΠÀÚµ¿À¸·Î ¹è¿Å©±â¸¦ 10À¸·Î ÁöÁ¤ÇØ ÁÜ´Ï´Ù. ÇÏÁö¸¸ ÃʱⰪÀÌ ¾øÀ»¶© ¹Ýµå½Ã Å©±â¸¦ ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù. Áï int Array[]; ÀÌ·¸°Ô ¼±¾ðÇÏ´Â °Ç Àýµ¥·Î ¾ÈµÊ´Ï´Ù. ¹è¿ÀÇ ÃʱⰪÀ» ÁÖ´Â°Ç ÀϺθ¸ Á־ µÊ´Ï´Ù. Áï ¹è¿ÀÇ ¿ø¼Ò¼ö°¡ 10°³À̾ ¾Õ¿¡ 5°³¸¸ ÃʱⰪÀ» Á־ µÈ´Ù´Â °ÍÀÌÁÒ. ¿¹¸¦ µé¾î int Array[10] = { 1, 2, 3, 4, 5 }; ÀÌ·¸°Ô ÇÏ¸é ¾Õ¿¡ 5°³ÀÇ ¿ø¼Ò¸¸ ÃʱⰪÀÌ µé¾î°¡°í ³ª¸ÓÁö´Â ÃʱⰪÀÌ ¾ø°Ô µÊ´Ï´Ù. ¸¸¾à ¹è¿ÀÌ ¹®ÀÚ ¹è¿À϶§´Â ¹®ÀÚ¿ ±×´ë·Î¸¦ ÃʱⰪÀ¸·Î Á־ µÊ´Ï´Ù. Áï char Array[10] = "String"; ÀÌ·¸°ÔÇØµµ µÈ´Ù´Â °ÍÀÌÁÒ. ÀÌ·¸°Ô ¼±¾ðÇѰͰú chat Array[10] = { 'S', 't', 'r', 'i', 'n', 'g' }; ÀÌ·¸°Ô ¼±¾ðÇѰÍÀÇ Â÷ÀÌ´Â ¹«¾ùÀÎÁö ¾Æ½Ã°ÚÁÒ? óÀ½ ¹æ¹ýÀ¸·Î ¼±¾ðÇÑ°Ç ¹®ÀÚ¿À» ±×´ë·Î¸¦ ÃʱⰪÀ¸·Î ÁÖ¾úÀ¸¹Ç·Î ³¡¿¡ NULL¹®ÀÚ°¡ µé¾î°¡°ÚÁÒ? ±×·¯¹Ç·Î chat Array[10] = { 'S', 't', 'r', 'i', 'n', 'g', NULL }; À̰Ͱú ¶È°°Àº °ÍÀÌ µÊ´Ï´Ù. 6. ´ÙÂ÷¿ø ¹è¿ À§¿¡¼ ¹è¿î ÇüÅÂÀÇ ¹è¿À» 1Â÷¿ø ¹è¿ À̶ó°í ÇÕ´Ï´Ù. ÇÏÁö¸¸ ¹è¿¿¡´Â 2Â÷¿ø ¹è¿ 3Â÷¿ø ¹è¿µîµî °è¼Ó À̾îÁöÁÒ. ÀÌ·¸°Ô 2Â÷¿ø ¹è¿ ÀÌ»óÀ» ÅëÆ²¾î ´ÙÂ÷¿ø ¹è¿ À̶ó°í ÇÕ´Ï´Ù. »ç½Ç ´ÙÂ÷¿ø ¹è¿À̶ó°í ÇØ¼ 1Â÷¿ø ¹è¿°ú Å©°Ô ´Ù¸¦°ÍÀÌ ¾ø½À´Ï´Ù. C¿¡¼ ´ÙÂ÷¿ø ¹è¿Àº ½±°Ô ¹è¿ÀÇ ¹è¿.. À̶ó°í »ý°¢ÇÏ½Ã¸é µÊ´Ï´Ù. ¿¹¸¦ µé¾î 2Â÷¿ø ¹è¿Àº ¹è¿ÀÇ ¹è¿À̰í, 3Â÷¿ø ¹è¿Àº ¹è¿ÀÇ ¹è¿ÀÇ ¹è¿ÀÌ µÇ´Â °ÍÀÌÁÒ. (1) ´ÙÂ÷¿ø ¹è¿ÀÇ ¼±¾ð 1Â÷¿ø ¹è¿Àº ¼±¾ðÇÒ¶§ ÀÏ¹Ý º¯¼ö ¼±¾ð°ú ¶È°°À¸³ª []¸¦ ºÙ¿©ÁÖ°í ±× ¾È¿¡ ¹è¿ÀÇ Å©±â¸¸ Á¤ÇØÁÖ¸é µÇ¾ú¾úÁÒ? 2Â÷¿ø ¹è¿Àº ¹è¿ÀÇ ¹è¿ÀÌ´Ï ¼±¾ðÀº 1Â÷¿ø ¹è¿°ú ¶È°°À¸³ª []¸¦ ´õ ºÙ¿©ÁÖ°í ±× ¾È¿¡ ¹è¿ Å©±â¸¦ ³Ö¾îÁÖ¸é µÇ´Â °ÍÀÌÁÒ. Áï µ¥ÀÌÅÍÇüÅ ¹è¿¸í[¹è¿Å©±â][¹è¿Å©±â]; ÀÌ·¸°Ô ¼±¾ðÇØ ÁÖ¸é µÇ´Â °Í ÀÔ´Ï´Ù. 3Â÷¿ø ¹è¿ ¿ª½Ã 2Â÷¿ø ¹è¿ ¼±¾ð°ú ¶È°°À¸³ª []¸¦ ´õ ºÙ¿©ÁÖ°í ±× ¾È¿¡ ¹è¿ Å©±â¸¦ ³Ö¾î ÁÖ¸é µÊ´Ï´Ù. ±×·¯´Ï±î µ¥ÀÌÅÍÇüÅ ¹è¿¸í[¹è¿Å©±â][¹è¿Å©±â][¹è¿Å©±â]; ÀÌ·¸°Ô ¼±¾ðÇØ ÁÖ¸é 3Â÷¿ø ¹è¿ÀÌ µÇ´Â °Í ÀÔ´Ï´Ù. 4Â÷¿ø 5Â÷¿ø...µµ ÀÌ·± ½ÄÀ¸·Î []¸¸ ´Ã¾î³¯ »ÓÀÌÁÒ. ¿¹¸¦ µé¾î Array¶ó´Â 10*10ÀÇ Å©±â¸¦ °®´Â 2Â÷¿ø Á¤¼ö ¹è¿Àº int Array[10][10]; ÀÌ·¸°Ô ¼±¾ðÇÏ¸é µÊ´Ï´Ù. ¸¸¾à 10*10*10ÀÇ Å©±â¸¦ °®´Â 3Â÷¿ø ¹è¿À̶ó¸é int Array[10][10][10]; ÀÌ·¸°Ô ¼±¾ðÇÏ¸é µÇ°ÚÁÒ? (2) ´ÙÂ÷¿ø ¹è¿ÀÇ »ç¿ë ´ÙÂ÷¿ø ¹è¿ »ç¿ë½Ã¿¡µµ ´ÜÁö []¸¸ ´Ã¾î³ª°Ô µÊ´Ï´Ù. 2Â÷¿ø ¹è¿ÀÇ °æ¿ì ¹è¿¸í[÷ÀÚ][÷ÀÚ] = °ª; º¯¼ö = ¹è¿¸í[÷ÀÚ][÷ÀÚ]; ÀÌ·¸°Ô »ç¿ëÇÒ¼ö ÀÖ°í, 3Â÷¿ø ¹è¿ÀÇ °æ¿ì´Â ¹è¿¸í[÷ÀÚ][÷ÀÚ][÷ÀÚ] = °ª; º¯¼ö = ¹è¿¸í[÷ÀÚ][÷ÀÚ][÷ÀÚ]; ÀÌ·± ½ÄÀ¸·Î »ç¿ëÇÒ¼ö ÀÖÁÒ. ¿¹¸¦ µé¾î º¸ÁÒ. ¾Æ±î ¿¹·Î µé¾ú´ø Array¶ó´Â 10*10Å©±âÀÇ 2Â÷¿ø Á¤¼ö ¹è¿ÀÌ ÀÖÀ»¶§, 1¹øÂ° ¹è¿ÀÇ 3¹øÂ° ¿ø¼Ò¿¡ 3À» ³ÖÀ¸·Á¸é Array[0][2]=3; ÀÌ·¸°Ô ÇØ ÁÖ¸é µÊ´Ï´Ù. ¸¸¾à Array¶ó´Â 10*10*10Å©±âÀÇ 3Â÷¿ø Á¤¼ö ¹è¿ÀÌ ÀÖ´Ù°í Çϰí, 1¹øÂ° ¹è¿ÀÇ 3¹øÂ° ¹è¿ÀÇ 2¹øÂ° ¿ø¼Ò¿¡ 2¸¦ ³ÖÀ¸·Á¸é Array[0][2][1]=2; ÀÌ·¸°Ô ÇÏ¸é µÊ´Ï´Ù. (3) ´ÙÂ÷¿ø ¹è¿ÀÇ ÃʱⰪ. ´ÙÂ÷¿ø ¹è¿ ¿ª½Ã ÃʱⰪÀ» °¡Áú¼ö ÀÖ½À´Ï´Ù. ´ÙÂ÷¿ø ¹è¿¿¡ ÃʱⰪÀ» ³Ö´Â°Í ¿ª½Ã ´ÙÂ÷¿ø ¹è¿ÀÌ ¹è¿ÀÇ ¹è¿À̶ó´Â °ÍÀ» »ý°¢ÇÏ½Ã¸é ½±°Ô ÇϽǼö ÀÖ½À´Ï´Ù. 1Â÷¿ø ¹è¿¿¡ ÃʱⰪÀ» ÁöÁ¤ÇÒ¶§´Â {}¾È¿¡ ÃʱⰪÀ» ¿ø¼ÒÀÇ ¼ø¼µ¥·Î ½á ÁÖ¸é µÇ¾ú¾úÁÒ? ±×·¯¹Ç·Î 2Â÷¿ø ¹è¿Àº ¹è¿ÀÇ ¹è¿ À̹ǷΠ{}¾È¿¡ ¶Ç {}¸¦ ½á¼ ÃʱⰪÀ» ÁÖ¸é µÊ´Ï´Ù. ¿¹¸¦ µé¾î int Array[2][3]; ÀÌ·± ¹è¿ÀÌ ÀÖ´Ù°í ÇÕ´Ï´Ù. ÀÌ°É ÃʱⰪÀ» ÁÖ¾î¼ ¼±¾ðÇϸé int Array[2][3] = { { 1, 2, 3 }, { 4, 5, 6 } }; ÀÌ·¸°Ô ÇÏ¸é µÇ´Â °ÍÀÌÁÒ. 3Â÷¿ø ¹è¿ À̶ó¸é {}¾È¿¡ {}¾È¿¡ ¶Ç´Ù½Ã {}¾È¿¡ ¿ø¼ÒÀÇ ÃʱⰪÀ» ½á ÁÖ¸é µÇ´Â °ÍÀ̰í¿ä. Áï int Array[2][3][2] = { { { 1, 2 } , { 3, 4 }, { 5, 6 } }, { { 7, 8 } , { 9, 10 }, { 11, 12 } } }; ÀÌ·¸°Ô ÇÏ¸é µÊ´Ï´Ù. ´ÙÂ÷¿ø ¹è¿¿¡ ÃʱⰪÀ» ÁöÁ¤ÇÏ´Â ¹æ¹ýÀº ÀÌ°Í ¸»°íµµ ±×³É 1Â÷¿ø ¹è¿Ã³·³ ÁöÁ¤ÇÏ´Â ¹æ¹ýµµ ÀÖ½À´Ï´Ù. 1Â÷¿ø ¹è¿Ã³·³ {}¾È¿¡ ¹è¿ÀÇ ¸ðµç ¿ø¼ÒÀÇ ¼ø¼´ë·Î ÃʱⰪÀ» Àû¾î ÁÖ´Â °ÍÀÌÁÒ. ¿¹¸¦ µé¾î ¾Æ±î int Array[2][3] = { { 1, 2, 3 }, { 4, 5, 6 } }; ÀÌ°Ç int Array[2][3] = { 1, 2, 3, 4, 5, 6 }; ÀÌ·¸°Ô ½á Á־ »ó°ü ¾ø½À´Ï´Ù. 7. ¹è¿À» Àμö·Î Àü´Þ. ¾Æ±î ÇÔ¼ö¿¡ °ª Àü´ÞÇÏ´Â ¹æ¹ýÀ» ¹è¿üÁÒ? ±×·±µ¥ ±×¶§ ¹è¿î°Ç ÀÏ¹Ý µ¥ÀÌÅÍ¿¡ ´ëÇÑ °ÍÀ̾ú½À´Ï´Ù. ±×·³ ¹è¿À» Àμö·Î Àü´ÞÇÑ´Ù¸é ¾î¶»°Ô ÇÒ±î¿ä? ¹è¿ ¿ª½Ã ÀÏ¹Ý µ¥ÀÌÅÍ¿Í Àü´Þ ¹æ¹ýÀÌ ¶È°°½À´Ï´Ù. ±×³É Àμö¸¦ ¹è¿·Î ¸¸µé¾î ÁÖ¸é µÇÁÒ. ¿¹¸¦ µé¾î ¾Æ¹« °ªµµ ¸®ÅÏÇÏÁö ¾Ê°í, Àμö·Î´Â Á¤¼öÇüÅÂÀÇ 10°³ÀÇ ¿ø¼Ò¸¦ °¡Áø a¶ó´Â ¹è¿ÀÌ ÀÖ´Â func¶ó´Â ÇÔ¼ö´Â void func(int a[10]) { . . . } ÀÌ·¸°Ô ¸¸µé°í Àμö »ç¿ëµµ ÀÏ¹Ý ¹è¿°ú ¶È°°ÀÌ »ç¿ëÇÏ¸é µÊ´Ï´Ù. ±×·±µ¥ ¿©±â¼ ¹è¿ÀÇ Å©±â¸¦ »ý·«Çصµ µÊ´Ï´Ù. Áï void func(int a[]) { . . . } ÀÌ·¸°Ô ÇØµµ µÈ´Ù´Â °ÅÁÒ. ÀÌ·¸°Ô ÇØµµ ¾Æ¹« »ó°ü ¾ø¾î¿ä. µÎ°¡ÁöÀÇ Â÷ÀÌÁ¡Àº ÀüÇô ¾øÁÒ. ±×·³ ¿©±â¼ Áß¿äÇÑ°Í ÇѰ¡Áö¸¦ ¸»¾¸µå¸±²²¿ä. ¿¹Á¦¸¦ º¸½ÃÁÒ. /* ÆÄÀÏ À̸§ : C8-4.C ÇÁ·Î±×·¥ ³»¿ë : ÇÔ¼ö ¿¹Á¦ */ #include <stdio.h> void func(int data[]) { data[0]=10; } void main() { int i; int var[10]={ 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 }; func(var); for(i=0;i<10;i++) printf("%d\n",var[i]); } ÀÌ ¼Ò½º´Â ¾Æ±î ³ª¿Ô´ø ¿¹Á¦¸¦ Á¶±Ý º¯Çü ½ÃÄѼ funcÇÔ¼öÀÇ Àμö¸¦ ¹è¿·Î ÇÑ °ÍÀä. ¿©±â¼ funcÇÔ¼ö¸¦ È£ÃâÇÒ¶§ varÀ̶õ º¯¼ö¸¦ Àμö·Î ÁÖ¾ú½À´Ï´Ù. ±×¸®°í funcÇÔ¼ö¿¡¼´Â data¶ó´Â Àμö·Î ¹è¿À» Àü´Þ¹Þ¾Ò´Âµ¥, dataÀÇ Ã¹¹øÂ° ¿ø¼Ò¸¦ 10À¸·Î ¹Ù²Ù°í ÀÖÁÒ. ±×·³ À̶§ mainÇÔ¼ö¿¡ ÀÖ´Â varÀ̶õ ¹è¿ÀÇ Ã¹¹øÂ° ¿ø¼Òµµ 10À¸·Î ¹Ù²ð±î¿ä? ¾Æ±îÀÇ °æ¿ì¸¦ »ý°¢ÇØ º¸¸é ¹Ù²îÁö ¾ÊÀ»°Í °°Áö¸¸, ¹Ù²ñ´Ï´Ù. ÀÌÀ¯´Â ¹è¿À» Àμö·Î Àü´ÞÇÒ ¶§´Â ±× ÁÖ¼Ò¸¦ Àü´ÞÇØ Áֱ⠶§¹®ÀÌÁÒ. ÀÚ¼¼ÇÑ ÀÌÀ¯´Â Áö±Ý ¼³¸íÇϱ⿡´Â ¹«¸®À̰í, Æ÷ÀÎÅÍ °Á°¡ ³¡³ ÈÄ¿¡ ¼³¸íÇØ µå¸®ÁÒ. Áö±ÝÀº ±×³É ¹Ù²ï´Ù´Â °Í¸¸ ²À ¾Ë¾ÆµÎ¼¼¿ä. ±×¸®°í ÀÌ·¸°Ô Àμö Àü´Þ½Ã ÁÖ¼Ò¸¦ Àü´ÞÇØ ÁÖ¾î ÇÔ¼ö¿¡¼ ÀμöÀÇ °ªÀ» ¹Ù²Ù¸é ÇÔ¼ö¸¦ È£ÃâÇÑ °÷ÀÇ º¯¼öµµ °ªÀÌ ¹Ù²î´Â È£Ãâ ¹æ¹ýÀ»
Passing by reference¶ó°í ÇÕ´Ï´Ù. À̰ÍÀ¸·Î À̹ø °Á¸¦ ¸¶Ä¡µµ·Ï ÇϰڽÀ´Ï´Ù. |