ÃÑ ÆäÀÌÁö ¼ö : 3224
![]()
|
Facebook Joinc ±×·ì
Joinc QA »çÀÌÆ®
![]()
Tweet
joinc´Â Firefox¿Í chrome¿¡¼ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù. ¹®Á¦ Ç®ÀÌ
8ÀåÀÇ 1¹ø ¹®Á¦¸¦ Ç®¾îº¸µµ·Ï ÇÏÀÚ. hello world¸¦ Âï´Â ¹®Á¦¿´´Ù. char Çϳª¿¡´Â ÇϳªÀÇ ¹®ÀÚ¸¸ µé¾î°¥ ¼ö ÀÖÀ¸¹Ç·Î °ø¹é¹®ÀÚ±îÁö Æ÷ÇÔ 11°³ÀÇ char¸¦ ¼±¾ðÇØ¼ »ç¿ëÇØ¾ß ÇÑ´Ù. #include <stdio.h> int main(int argc, char **argv) { char h='h'; char e='e'; char l='l'; char o='o'; char w='w'; char d='d'; char r='r'; char space=' '; printf("%c%c%c%c%c%c%c%c%c%c%c\n", h,e,l,l,o,space,w,o,r,l,d); return 0; } ¹è¿
±×·°Àú·° hello world¸¦ Ãâ·ÂÇϱä ÇßÁö¸¸, Áö³ªÄ¡°Ô º¹ÀâÇÏ°í ºñÈ¿À²ÀûÀ̶ó´Â ´À³¦ÀÌ µé °ÍÀÌ´Ù. C ¿¡¼ Á¦°øÇÏ´Â ¿ø½Ã µ¥ÀÌÅÍ Å¸ÀÔÀ̶õ °ÍÀº ¸»±×´ë·Î ÃÖ¼ÒÇÑÀÇ µ¥ÀÌÅÍ Å¸ÀÔÀÏ »ÓÀ¸·Î, Á» º¹ÀâÇÑ ÇÁ·Î±×·¥À» ¸¸µé±â À§Çؼ´Â À̰ÍÀ» ±¸Á¶È ÇÒ Çʿ䰡 ÀÖ´Ù.
À̰ÍÀº ¼·ùöÀ» ¸¸µå´Â °Í°ú ºñ½ÁÇÑ °úÁ¤À̶ó°í º¸¸é µÉ°ÍÀÌ´Ù. ¼·ù ÇϳªÇϳª¸¦ ÀÏÀÏÀÌ °ü¸®ÇÏ´Â°Ç »ó´çÈ÷ Â¥Áõ³ª´Â ÀÏÀÏ °ÍÀÌ´Ù. ±×·¡¼ ¿ì¸®´Â (À̸§ µîÀ¸·Î Á¤¸®µÈ) ¼·ùöÀ» ¸¸µé°í ´Ù½Ã ¼·ùöÀ» º¸°üÇϱâ À§ÇÑ Ä³ºñ³ÝÀ» »ç¿ëÇÑ´Ù. ÀڷḦ ±¸Á¶È ÇÏ´Â °ÍÀÌ´Ù.
ÇÁ·Î±×·¥¿¡¼ »ç¿ëµÇ´Â µ¥ÀÌÅÍ(ÀÚ·á)µéµµ ÀÌ·¸°Ô ±¸Á¶ÈÇÒ Çʿ䰡 ÀÖ´Ù. À̰ÍÀ» ÀڷᱸÁ¶¶ó°í ÇÑ´Ù. ÀÌ·¯ÇÑ ÀڷᱸÁ¶µé Áß¿¡¼ °¡Àå ±âº»ÀÌ µÇ´Â°Ô, ¹è¿ÀÌ´Ù.
¹è¿Àº ¼·ùö·Î º¼ ¼ö ÀÖ´Ù. ¼·ù´Â ÃÖ¼Ò´ÜÀ§°¡ µÇ°í, À̰ÍÀ» ³ª¶õÈ÷ Âß Á¤¸®Çؼ Çϳª·Î ¹Àº°Ô ¼·ùöÀÌ´Ù. ¹è¿Àº ÃÖ¼Ò´ÜÀ§ÀÇ µ¥ÀÌÅ͸¦ ÀÏ·Ä·Î ³ª¿ÇÑ ÀڷᱸÁ¶´Ù. ¼·ùö °°Àº °ÍÀ» º¸¸é ¼·ù¸¦ ½±°Ô ã±â À§Çؼ À妽º¸¦ ÇÑ´Ù. º¸ÅëÀº À̸§À¸·Î À妽º¸¦ Çϴµ¥, ¹è¿¿ª½Ã µ¥ÀÌÅ͸¦ ½±°Ô ã±â À§Çؼ À妽º¸¦ °¡Áö°í ÀÖ´Ù. ¼·ùö°ú ´Ù¸¥Á¡Àº À妽º°¡ ¼ýÀÚ·Î µÇ¾î ÀÖ´Ù´Â °Í Á¤µµ°¡ µÉ °ÍÀÌ´Ù. ÀÌ ¼ýÀÚ´Â 0 ºÎÅÍ ½ÃÀÛÇÑ´Ù.
´Ù½Ã ¹®Á¦·Î µÇµ¹¾Æ°¡º¸ÀÚ. ¹®ÀÚ¿ hello worldÀ» ±¸Á¶ÀûÀ¸·Î ½±°Ô Ç¥ÇöÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀº ¹Ù·Î ¹è¿À» ÀÌ¿ëÇÏ´Â °ÍÀÌ´Ù. ÀÌ ¹è¿ÀÇ ÃÖ¼Ò´ÜÀ§´Â ¹®ÀÚ Áï char µ¥ÀÌÅͰ¡ µÉ °ÍÀÌ´Ù. À̰ÍÀ» À§Çؼ ¾Æ·¡¿Í °°ÀÌ 12 °³ÀÇ char Çü µ¥ÀÌÅ͸¦ ÀúÀåÇÒ ¼ö ÀÖ´Â °ø°£À» ¸¸µé¾î¼ °¢°¢ÀÇ ¹®ÀÚµéÀ» Áý¾î ³ÖÀ¸¸é µÈ´Ù. ÀÌ·¸°Ô ÀڷḦ À妽º¸¦ key·Î ÇØ¼ ±¸Á¶È ½ÃŲ°ÍÀ» ¹è¿À̶ó°í ÇÑ´Ù. À妽º¸¦ ÅëÇØ¼ ¼·ùö¿¡¼ ¼·ù¸¦ ²¨³¾ ¼ö ÀÖµíÀÌ, ÀÌ À妽º¸¦ ÀÌ¿ëÇØ¼ °ª(value)¸¦ °¡Á®¿Ã ¼ö ÀÖ´Ù. ![]()
C »Ó¸¸ ¾Æ´Ï¶ó, °ÅÀÇ ¸ðµç ÇÁ·Î±×·¡¹Ö ¾ð¾î°¡ ¹è¿À» Áö¿øÇϰí ÀÖ´Ù. ±×¸®°í ¹è¿ÀÇ Ã¹¹øÂ° À妽º´Â 1ÀÌ ¾Æ´Ñ 0ºÎÅÍ ½ÃÀÛÇÑ´Ù. À妽º°¡ 0ºÎÅÍ ½ÃÀÛÇÏ´Â °ÍÀº ¿ì¸®ÀÇ ÀϹÝÀûÀÎ Á÷°ü°ú´Â °Å¸®°¡ ÀÖ¾î¼, Ãʱ⿡ È¥µ¿Çϱ⠽¬¿ì´Ï ÁÖÀÇÇϱ⠹ٶõ´Ù. ¹è¿ÀÇ À妽º »Ó¸¸ ¾Æ´Ï¶ó, ÄÄÇ»ÅÍ´Â ¸ðµç °ÍÀÇ Ã¹¹øÂ°´Â 0ºÎÅÍ ½ÃÀÛÇÑ´Ù. ¿¹¸¦ µé¾î ¸Þ¸ð¸®ÀÇ Ã¹¹øÂ° ÁÖ¼Ò´Â 0ÀÌ´Ù. C¿¡¼ ¹è¿
¹è¿Àº ÀڷᱸÁ¶À̹ǷΠ±¸Á¶È°¡ °¡´ÉÇÑ ¸ðµç µ¥ÀÌÅ͵éÀº ¹è¿·Î ¸¸µé¾î¼ ¼±¾ðÇÒ ¼ö ÀÖ´Ù. ¼±¾ð¹æ¹ýÀº °£´ÜÇÏ´Ù. µ¥ÀÌÅÍŸÀÔ º¯¼ö¸í [Å©±â];
¿¹¸¦µé¾î Á¤¼ö µ¥ÀÌÅÍ 10°³¸¦ ÀúÀåÇϱâ À§ÇÑ ¹è¿Àº ¾Æ·¡¿Í °°ÀÌ ¼±¾ðÇÒ ¼ö ÀÖ´Ù. int mydata[10];¸Å¿ì °£´ÜÇÏ´Ù. ÀÌÁ¦ ¿ì¸®°¡ ¸ñÀûÀ¸·Î ÇÏ´Â hello world¸¦ ÀúÀåÇϱâ À§ÇÑ ¹è¿Àº ´ÙÀ½°ú °°ÀÌ ¸¸µé¸é µÉ °ÍÀÌ´Ù. º¯¼ö¸íÀº hello ·Î Çϵµ·Ï ÇϰڴÙ. char hello[12];¿©±â¿¡¼ ¾à°£ Àǹ®½Ã µÇ´Â Á¡ÀÌ ÀÖÀ» °ÍÀÌ´Ù. ¿ì¸®°¡ ÀúÀåÇϰíÀÚ ÇÏ´Â hello world´Â 11ÀÚÀε¥, 12°³ÀÇ °ø°£À» °¡Áöµµ·Ï ¼±¾ðÇ߱⠶§¹®ÀÌ´Ù. ÀÌ´Â \0À» ÀúÀåÇϱâ À§ÇÑ °ø°£À» Çϳª´õ ÇÊ¿ä·Î Çϱ⠶§¹®ÀÌ´Ù. \0À» ¸¸³ª¸é ÇÁ·Î±×·¥Àº ¹®ÀÚ¿ÀÌ ¿©±â¿¡¼ ³¡³µ´Ù°í ÆÇ´ÜÀ» ÇÏ°Ô µÈ´Ù. ¸¸¾à \0À» ¸¸³ªÁö ¸øÇÑ´Ù¸é, ÀúÀå°ø°£À» ÃʰúÇØ¼ \0À» ¸¸³¯¶§±îÁö °è¼Ó µ¥ÀÌÅ͸¦ ÀÐÀ» ·Á°í ÇÒ °ÍÀÌ´Ù. ÇÁ·Î±×·¥Àº ¹Ùº¸¶ó´Â °ÍÀ» ¸í½ÉÇØ¾ß ÇÑ´Ù. ¾îµð°¡ ½ÃÀÛÀÌ°í ¾îµð°¡ ³¡ÀÎÁö¸¦ ¸íÈ®ÇÏ°Ô ÇØÁÖ¾î¾ß¸¸ ÇÑ´Ù.
ÀÚ ±×·³ ¸¸µé¾îÁø ¹è¿ hello ¿¡ hello world¸¦ ÀúÀåÇØ º¸µµ·Ï ÇÏÀÚ.
¹®Á¦
double µ¥ÀÌÅÍ 16 °³¸¦ ÀúÀåÇϱâ À§ÇÑ ¹è¿À» ¼±¾ðÇØ º¸ÀÚ.
¹è¿ ¼±¾ð°ú Á¤ÀÇ
¹è¿¿¡ °ªÀ» ÀúÀåÇÏ´Â µ¥¿¡´Â µÎ°¡Áö ¹æ¹ýÀÌ ÀÖ´Ù. Çϳª´Â ¼±¾ð°ú µ¿½Ã¿¡ °ªÀ» ´ëÀÔÇÏ´Â °ÍÀÌ´Ù. #include <stdio.h> int main() { char hello[12] = {'h','e','l','l','o',' ','w','o','r','l','d','\0'}; printf("%s\n", hello); }Áß°ýÈ£ "{","}" »çÀÌ¿¡ °¢°¢ÀÇ ¿ø¼Ò µ¥ÀÌÅ͸¦ ³ÖÀ¸¸é µÈ´Ù. µ¥ÀÌÅÍ¿ÍÀÇ ±¸ºÐÀº ,À» ÅëÇØ¼ ÀÌ·ç¾îÁø´Ù. 1ºÎÅÍ 5±îÁö ÀúÀåÇÏ´Â int Çü ¹è¿Àº ´ÙÀ½°ú °°ÀÌ ¼±¾ðÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. int data[5] = {0, 1, 2, 3, 4, 5};
°ªÀÌ ¿©·¯°³°¡ Áߺ¹ÀÌ µÉ °æ¿ì°¡ ÀÖÀ» ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î ¹è¿ÀÇ Å©±â°¡ 100Àε¥, ¸ðµç °ªÀ» 1·Î ÇØ¼ ¼±¾ðÇÏ°í ½ÍÀ» ¶§°¡ ÀÖÀ» °ÍÀÌ´Ù. À̰æ¿ì ,µÚ¿¡ µ¥ÀÌÅ͸¦ ¾²Áö ¾ÊÀ¸¸é µÈ´Ù. ±×·³ °¡Àå ¸¶Áö¸· µ¥ÀÌÅÍ·Î ¹è¿ÀÇ ³¡±îÁö ä¿öÁö°Ô µÈ´Ù. int data[100]={0,};
¾Æ·¡ÀÇ ÇÁ·Î±×·¥À» ½ÇÇà½ÃŰ°í °á°ú¸¦ È®ÀÎÇØ º¸µµ·Ï ÇÏÀÚ. #include <stdio.h> int main() { char hello[12] = {'h','e','l','l','o',' ','w','o','r','l','d','\0'}; int data[100] = {0,}; printf("%s\n", hello); printf("%d\n", data[2]); }
´Ü ¹®ÀÚ¿ÀÇ °æ¿ì ¿¹¿ÜÀûÀ¸·Î °ýÈ£ {}¸¦ »ç¿ëÇÏÁö ¾Ê°í, ½Öµû¿òÇ¥¸¦ ÀÌ¿ëÇØ¼ Á÷Á¢ ¼±¾ðÇÒ ¼ö ÀÖµµ·Ï Áö¿øÇϰí ÀÖ´Ù. À§ÀÇ ÄÚµå´Â ¾Æ·¡¿Í °°ÀÌ Á»´õ °£´ÜÇÏ°Ô Ç¥ÇöÇÒ ¼ö ÀÖ´Ù. char hello[12] = "hello world\0"; ¹è¿ÀÇ µ¥ÀÌÅÍ¿¡ Á¢±Ù
¼·ùö¿¡¼ ¿øÇÏ´Â ¼·ù¿¡ Á¢±ÙÇϱâ À§Çؼ À妽º¸¦ »ç¿ëÇϵíÀÌ, ¹è¿¿ª½Ã À妽º¸¦ ÅëÇØ¼ Á¢±ÙÇÒ ¼ö ÀÖ´Ù. ÀÌ À妽º´Â 0ºÎÅÍ ½ÃÀ۵Ǵ Á¤¼ö·Î ¹è¿Ã·ÀÚ¶ó°í ºÎ¸£±âµµ ÇÑ´Ù. Á¢±Ù ¹æ¹ýÀº °£´ÜÇÏ´Ù. °ýÈ [] ¾È¿¡ ²¨³»¿À±â ¿øÇÏ´Â µ¥ÀÌÅÍÀÇ ¹è¿Ã·ÀÚ¸¦ ³Ö¾îÁֱ⸸ ÇÏ¸é µÈ´Ù. char hello[12] = {'h','e','l','l','o',' ','w','o','r','l','d','\0'};
printf("%c", hello[4]);
¾Æ·¡ÀÇ ¹è¿ À̹ÌÁö¸¦ º¸¸é hello[4] °¡ o¸¦ °¡Á®¿À¸®¶õ°É ½±°Ô ¿¹»óÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.![]()
´ëÀÔ¿¬»êÀÚ¸¦ ÀÌ¿ëÇÏ¸é ¹è¿ÀÇ ¿øÇÏ´Â À§Ä¡¿¡ µ¥ÀÌÅ͸¦ ¾²´Â °Íµµ °¡´ÉÇÏ´Ù. hello[4]ÀÇ °ªÀ» 'w'·Î ¹Ù²Ù¾îº¸ÀÚ. hello[4] = 'w';
ÀÌÁ¦ ÀÌÀü¿¡ ¹è¿ü´ø ·çÇÁ¹®À» ÀÌ¿ëÇØ¼, º¯¼ö hello ÀÇ °ªÀ» Ãâ·ÂÇÏ´Â ÇÁ·Î±×·¥À» ¸¸µé¾î º¸ÀÚ. #include <stdio.h> int main() { char hello[12] = "hello world\0"; int i = 0; for (i = 0; i < 12; i++) { printf("%c", hello[i]); } printf("\n"); } À߸øµÈ ¹è¿Ã·ÀÚÀÇ »ç¿ë
¹è¿ÀÇ Å©±â°¡ 12 Àε¥, À̸¦ ÃʰúÇØ¼ µ¥ÀÌÅ͸¦ Áý¾î ³Ö°Å³ª, ¹è¿Ã·ÀÚ¸¦ ÃʰúÇØ¼ µ¥ÀÌÅ͸¦ °¡Á®¿À´Â °æ¿ì¸¦ »ý°¢ÇØ º¸ÀÚ.
À¯´Ð½º´Â ´ÙÁß »ç¿ëÀÚ, ´ÙÁß ÇÁ·Î¼¼½º¸¦ Áö¿øÇϰí ÀÖ´Ù. À̸»Àº µ¿½Ã¿¡ ¿©·¯°³ÀÇ ÇÁ·Î±×·¥µéÀÌ µ¹¾Æ°¥ ¼ö ÀÖÀ½À» ÀǹÌÇÑ´Ù. ps´Â ÇöÀç ½ÇÇàÁßÀÎ ÇÁ·Î¼¼½ºÀÇ ¸ñ·ÏÀ» º¸¿©ÁÖ´Â À¯´Ð½º ÇÁ·Î±×·¥ÀÌ´Ù. ps ¸¦ ÀÌ¿ëÇØ¼ ÇöÀç ¶°ÀÖ´Â ÇÁ·Î¼¼½ºÀÇ ¸ñ·ÏÀ» ¾Ë¾Æº¸µµ·Ï ÇÏÀÚ. ÇÁ·Î¼¼½º¶õ ÇÁ·Î¼¼½º´Â ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÈ À̹ÌÁö´Ù. ¿©·¯ºÐÀÌ ¾î¶² ÇÁ·Î±×·¥À» ½ÇÇà½Ã۸é, Çϵåµð½ºÅ©¿¡ ÀÖ´Â ÇÁ·Î±×·¥ÀÌ Á÷Á¢ ¼öÇàµÇ´Â°Ô ¾Æ´Ï°í, ÇØ´ç ÇÁ·Î±×·¥ÀÇ º¹»çº»ÀÌ ¸ÞÀθ޸𸮿¡ ¿Ã¶ó°¡¼ ¼öÇàÀÌ µÈ´Ù. ±×·¯¹Ç·Î ÇϳªÀÇ ÇÁ·Î±×·¥Àº ¿©·¯°³ÀÇ ÇÁ·Î¼¼½º·Î »ý¼ºµÉ ¼ö ÀÖ´Ù. ]# ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 Jan30 ? 00:00:35 init [3] root 2 1 0 Jan30 ? 00:00:00 [keventd] root 3 1 0 Jan30 ? 00:00:00 [kapmd] root 4 1 0 Jan30 ? 00:00:00 [ksoftirqd_CPU0] root 5 1 0 Jan30 ? 00:04:44 [kswapd] root 6 1 0 Jan30 ? 00:00:00 [bdflush] root 7 1 0 Jan30 ? 00:00:04 [kupdated] root 8 1 0 Jan30 ? 00:00:00 [mdrecoveryd] root 12 1 0 Jan30 ? 00:08:54 [kjournald] root 71 1 0 Jan30 ? 00:00:00 [khubd] root 1181 1 0 Jan30 ? 00:00:00 [kjournald] root 1480 1 0 Jan30 ? 00:01:11 syslogd -m 0 root 1484 1 0 Jan30 ? 00:00:00 klogd -x rpcuser 1521 1 0 Jan30 ? 00:00:00 rpc.statd root 1607 1 0 Jan30 ? 00:00:00 /usr/sbin/apmd -p 10 -w 5 -W -P root 1644 1 0 Jan30 ? 00:05:22 /usr/sbin/sshd root 1658 1 0 Jan30 ? 00:00:00 xinetd -stayalive -reuse -pidfil root 1671 1 0 Jan30 ? 00:00:16 crond daemon 1693 1 0 Jan30 ? 00:00:00 /usr/sbin/atd root 1711 1 0 Jan30 tty1 00:00:00 /sbin/mingetty tty1 root 1712 1 0 Jan30 tty2 00:00:00 /sbin/mingetty tty2 ... ...¾Æ¹«¸® °£´ÜÇÑ À¯´Ð½º ½Ã½ºÅÛÀ̶ó°í ÇÏ´õ¶óµµ ÃÖ¼ÒÇÑ 30°³ ÀÌ»óÀÇ ÇÁ·Î¼¼½º°¡ ¶°ÀÖÀ» °ÍÀÌ´Ù. ±×·¸´Ù¸é ÇØ°áÇØÁà¾ß ÇÒ ¹®Á¦°¡ ÀÖ´Ù. ÇÁ·Î¼¼½º´Â ¸ÞÀθ޸𸮠»ó¿¡¼ ½ÇÇàµÇ°í, ÀÚ½ÅÀÌ »ç¿ëÇÏ´Â µ¥ÀÌÅ͸¦ ¿ª½Ã ¸Þ¸ð¸®¿¡ ¿Ã·Á³õ°í Àаųª ¾²°Ô µÈ´Ù. ±×·±µ¥ ´Ù¸¥ ÇÁ·Î¼¼½º°¡ ÀÚ½ÅÀÇ ¸Þ¸ð¸® ¿µ¿ªÀ» ħ¹üÇÏ¸é ¾ÈµÉ °ÍÀÌ´Ù. À¯´Ð½º ¿î¿µÃ¼Á¦´Â ÇÁ·Î¼¼½º¸¦ °ü¸®Çϸé¼, µ¿½Ã¿¡ °¢ ÇÁ·Î¼¼½º°¡ ´Ù¸¥ ÇÁ·Î¼¼½ºÀÇ ¸Þ¸ð¸®¿µ¿ªÀ» ħ¹üÇÏ´ÂÁö¸¦ °¨½Ã¸¦ ÇÑ´Ù. ¸¸¾à ´Ù¸¥ ÇÁ·Î¼¼½ºÀÇ ¸Þ¸ð¸® ¿µ¿ªÀ» ħ¹üÇß´Ù¸é, ¿î¿µÃ¼Á¦´Â ÇÁ·Î¼¼½º¸¦ °Á¦·Î Á¾·á½ÃÄѹö¸®°Ô µÈ´Ù.
¿ì¸®´Â ¾ÆÁÖ °£´ÜÇÏ°Ô ÀÌ·± ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù. #include <stdio.h> int main() { char hello[12] = "hello world!! My site is Joinc"; int i = 0; printf("%s", hello[i]); printf("bye bye\n"); }
ÀÌ ÇÁ·Î±×·¥Àº char ÇüÀÇ ¹è¿ÀÎ hello ¸¦ À§Çؼ 12ÀÇ Å©±â¸¦ ÇÒ´çÇß´Ù. ±×·¯³ª 12byte¸¦ ÃʰúÇÏ´Â ¹®ÀÚ¿À» Áý¾î ³Ö°í ÀÖÀ½À» ¾Ë ¼ö ÀÖ´Ù. ÀÌ ÇÁ·Î±×·¥À» ÄÄÆÄÀÏ ÇØ¼ ½ÇÇà½ÃŰ¸é ´ÙÀ½°ú °°Àº ¿¡·¯¸Þ½ÃÁö°¡ ¶³¾îÁú °ÍÀÌ´Ù. ÇÁ·Î±×·¥ÀÇ À̸§Àº array_test ·Î ÇϰڴÙ. # ./array_test Segmentation faultprintf("%s", hello[i]); ¸¦ Çϸé¼, Àڽſ¡°Ô ÇÒ´çµÇÁö ¾ÊÀº ¿µ¿ªÀ» ÀÐ¾î µéÀÌ·Á°í ½Ãµµ¸¦ ÇÏ´Â Áß¿¡, ´Ù¸¥ ÇÁ·Î¼¼½º°¡ »ç¿ëÇÏ´Â ¸Þ¸ð¸® ¿µ¿ªÀ» ħ¹üÇß°í ÀÌ ¶§¹®¿¡ Segmentation fault¸Þ½ÃÁö¸¦ Ãâ·ÂÇÏ¸é¼ °Á¦ Á¾·áµÇ¾î ¹ö·È´Ù. bye bye\nÀº Ãâ·ÂÁ¶Â÷ µÇÁö ¸øÇß´Ù. ![]()
¾ÕÀ¸·Î ¸¹Àº ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ °Çµ¥, °¡Àå ÈçÇÏ°Ô º¼ ¼ö ÀÖ´Â ¿¡·¯¸Þ½ÃÁö°¡ Segmentation fault°¡ µÉ °ÍÀÌ´Ï, Áö±Ý ºÎÅÍ Àͼ÷ÇØÁö±â¸¦ ¹Ù¶õ´Ù. Àΰ£Àº ¼·ùöÀÇ ¿ë·®À» ÃʰúÇØ¼ ¼·ù°¡ µé¾î¿À¸é, ¾ïÁö·Î ¿ë·®À» ´Ã¸®´øÁö, ¾ÈµÇ¸é Ç®·ÎºÙÀÌ´øÁö ÇÏ´Â µîÀÇ À¯µµ¸®¸¦ ¹ßÈÖÇØ¼ ¾÷¹«¸¦ ó¸®ÇÒ ¼ö ÀÖÁö¸¸, ¿ì¸®ÀÇ ÄÄÇ»ÅÍ´Â ±×·¸°Ô ¶È¶ÈÇÏÁö ¸øÇÑÁ¡ ÀÌÇØ¸¦ ÇØÁÖ¾î¾ß ÇÑ´Ù. ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¶§´Â ÇÒ´çÇÑ °ø°£À» ÃʰúÇß´ÂÁö, Á¦´ë·Î »ç¿ëÇß´ÂÁö¸¦ ¾ö°ÝÇÏ°Ô °Ë»çÇØ¾ß ÇÑ´Ù.
À§ÀÇ ÇÁ·Î±×·¥Àº Á¦´ë·Î ¼öÇàµÇ´Â °æ¿ìµµ ÀÖÀ» °ÍÀÌ´Ù. ¿Ö³Ä¸é ¾µ·Á°í ÇÏ´Â ¸Þ¸ð¸® ¿µ¿ªÀÌ ´Ù¸¥ ÇÁ·Î¼¼½º¿¡ ÀÇÇØ¼ »ç¿ëµÇÁö ¾Ê´Â ÀÚÀ¯»óÅÂÀÏ ¼öµµ Àֱ⠶§¹®ÀÌ´Ù. ÀÌ °æ¿ì¿¡´Â ´Ù¸¥ ÇÁ·Î¼¼½º ¸Þ¸ð¸® ¿µ¿ªÀ» ħ¹üÇÑ ÇàÀ§´Â ¾Æ´Ï¹Ç·Î, ¿¡·¯°¡ ¹ß»ýÇÏÁö´Â ¾ÊÀ» °ÍÀÌ´Ù. ¹°·Ð.. Á¦´ë·ÎµÈ °á°ú°¡ ³ª¿Ã °ÍÀ̶ó´Â°Ç º¸ÀåÇÒ ¼ö°¡ ¾ø´Ù. ÀÚÀ¯»óÅÂÀ̱⠶§¹®¿¡, ÇÁ·Î¼¼½º°¡ ½ÇÇàµÇ°í ÀÖ´Â µµÁß¿¡, ´Ù¸¥ ÇÁ·Î¼¼½º¿¡°Ô ÇØ´ç ¸Þ¸ð¸® ¿µ¿ªÀÌ ÇÒ´çµÇ¾î¹ö¸± ¼ö Àֱ⠶§¹®ÀÌ´Ù. ÀÌ·² °æ¿ì Segmentation fault ¸¦ Ãâ·ÂÇÏ¸é¼ Á¾·áµÇ¾î ¹ö¸± °ÍÀÌ´Ù. ¹®ÀÚ¿ÀÇ Ãâ·Â
´Ù½Ã ¹®Á¦·Î µÇµ¹¾Æ°¡ º¸ÀÚ. for ¹®°ú ¹è¿À» ÀÌ¿ëÇØ¼ Á» ´õ ½±°Ô ¹®Á¦¸¦ Ç®±â´Â ÇßÁö¸¸, ¹®ÀÚ¿ Çϳª Ãâ·ÂÇÒ·Á°í ·çÇÁ¹®±îÁö »ç¿ëÇÏ´Â°Ç ÇÕ¸®ÀûÀÌÁö ¸øÇÏ´Ù. printf ÇÔ¼ö¸¦ ÀÌ¿ëÇÏ¸é ½±°Ô ÀÌ ¹®Á¦¸¦ Ç® ¼ö ÀÖ´Ù. ÀÌ ÇÔ¼ö´Â ÁÖ¾îÁø º¯¼ö¸¦ Çü½ÄÈÇØ¼ Ãâ·ÂÇÒ ¼ö ÀÖµµ·Ï µµ¿ÍÁØ´Ù. #include <stdio.h> int main() { char hello[12] = "hello world\0"; printf("%s", hello); }À̰ɷΠ¹®Á¦´Â °£´ÜÈ÷ ÇØ°áµÆ´Ù. "%s" ´Â ÁÖ¾îÁø ÀÎÀÚ¸¦ ¹®ÀÚ¿·Î ÀνÄÇØ¼ Ãâ·ÂÇÏ´Â Æ÷¸Ë ¿É¼ÇÀÌ´Ù.
¹®Á¦
char ¹è¿À» ¹Þ¾Æµé¿©¼ ¹®ÀÚ¿·Î Ãâ·ÂÇÏ´Â ÇÔ¼ö¸¦ ÀÛ¼ºÇغ¸ÀÚ.
¹®ÀÚ¿ º¹»ç
¹®ÀÚ¿À» ¹è¿¿¡ º¹»çÇÏ´Â °£´ÜÇÑ ¹æ¹ý¿¡ ´ëÇØ¼ »ý°¢Çغ¸ÀÚ. ´ÙÀ½°ú °°ÀÌ Äڵ带 ÀÛ¼ºÇÏ¸é ¾î¶»°Ô µÉ±î.
int main() { char hello[12]; hello = "hello world\0"; }¹®Á¦ ¾øÀ» °Å¶ó°í »ý°¢ÇÒ ¼öµµ ÀÖÁö¸¸, ÄÄÆÄÀÏ ÇÏ¸é ¾Æ·¡¿Í °°Àº ¿¡·¯¸Þ½ÃÁö¿Í ÇÔ²² ÄÄÆÄÀÏ ½ÇÆÐÇÏ°Ô µÈ´Ù. # gcc -o array array.c array.c: In function `main': array.c:6: incompatible types in assignment´ëÀÔ¿¬»êÀÚ´Â °°Àº ŸÀÔ¿¡ ´ëÇØ¼¸¸ Çã¿ëµÇ´Â ¿¬»êÀÚÀ̱⠶§¹®¿¡, ¹è¿¿¡ ¹®ÀÚ¿À» ´ëÀÔÇÏ´Â°Ç C ¹®¹ý¿¡ ¾î±ß³ª±â ¶§¹®ÀÌ´Ù. °á±¹ ¹®ÀÚ¿À» ó¸®Çϱâ À§Çؼ´Â º°µµÀÇ ÇÔ¼ö¸¦ ¸¸µé¾î¼ »ç¿ëÇÏ´Â ¼ö ¹Û¿¡ ¾ø´Ù. ´ÙÇàÈ÷ C ´Â Ç¥ÁØ ¶óÀ̺귯¸® Çü½ÄÀ¸·Î ¸î°³ÀÇ À¯¿ëÇÑ ¹®ÀÚ¿ ó¸® ÇÔ¼ö¸¦ Á¦°øÇÑ´Ù. strcat(3), strcpy(3)¿Í °°Àº ÇÔ¼ö°¡ ¹®ÀÚ¿ 󸮸¦ À§ÇÑ ´ëÇ¥ÀûÀÎ ÇÔ¼ö´Ù. ´ÙÀ½Àº strcpy ÇÔ¼ö¸¦ ÀÌ¿ëÇØ¼ ¹®ÀÚ¿À» º¹»çÇÑ ÇÁ·Î±×·¥ÀÌ´Ù. #include <stdio.h> int main() { char hello[12]; strcpy(hello,"hello world\0"); printf("%s\n", hello); } ¹®Á¦Ç®ÀÌ
¹®Á¦
char ¹è¿À» ¹Þ¾Æµé¿©¼ ¹®ÀÚ¿·Î Ãâ·ÂÇÏ´Â ÇÔ¼ö¸¦ ÀÛ¼ºÇغ¸ÀÚ.
¹®Á¦´Â ´Ù¾çÇÑ ¹æ½ÄÀ¸·Î Ç® ¼ö ÀÖÀ» °ÍÀÌ´Ù. ¾Æ·¡´Â ´Ù¾çÇÑ ¹æ½ÄÁß ÇϳªÀÌ´Ù.#include <stdio.h>
void print_string(char a[])
{
int i=0;
while(a[i] != '\0')
{
printf("%c", a[i]);
i++;
}
}
int main()
{
char hello[12] = "hello world\0";
print_string(hello);
}
|
|
|
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù. |
|