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

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



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

Contents

1 ¿ø½Ãµ¥ÀÌÅÍ Å¸ÀÔ
2 ¿ø½Ãµ¥ÀÌÅÍ Å¸ÀÔÀÇ ±¸Á¶È­
3 ±¸Á¶Ã¼
4 ±¸Á¶Ã¼ÀÇ Á¤ÀÇ, ¼±¾ð ±×¸®°í »ç¿ë
5 ±¸Á¶Ã¼¿Í ¹è¿­
6 ±¸Á¶Ã¼¿Í Æ÷ÀÎÅÍ
7 ¿¹Á¦ ÇÁ·Î±×·¥
8 ¸®½ºÆ®
9 ¸®½ºÆ® ÀÀ¿ë
10 union
11 ´ñ±Û

1 ¿ø½Ãµ¥ÀÌÅÍ Å¸ÀÔ

C ¾ð¾î´Â ¸Å¿ì ±âº»ÀûÀ¸·Î »ç¿ëÇÏ´Â 5°¡Áö Á¤µµÀÇ ¿ø½Ã µ¥ÀÌÅÍ Å¸ÀÔÀ̶ó´Â °ÍÀ» °¡Áö°í ÀÖ´Ù´Â °ÍÀ» ¾Õ¼­ ¹è¿ü´Ù. ÀÌµé ±âº» ŸÀÔÀº ´ÙÀ½°ú °°Àº °ÍµéÀÌ´Ù.
  • int, float, double, char, long long int, Pointer
Àΰ£ÀÌ ´Ù·ç´Â ¸Å¿ì º¹ÀâÇÑ µ¥ÀÌÅ͵鵵 ¼ýÀÚ¿Í ¹®ÀÚ, µµÇü À̶ó´Â °É »ý°¢Çϸé ÄÄÇ»ÅͰ¡ ÀÌ·¸°Ô ´ÜÁö ¸î°¡Áö¸¸ÀÇ µ¥ÀÌÅÍ Å¸ÀÔÀ» °¡Áö´Â °Íµµ, ¾îÂ¸é ´ç¿¬ÇÑ °á°ú¶ó°í ÇÒ ¼ö ÀÖÀ»°Å °°´Ù. C ¾ð¾î»Ó¸¸ ¾Æ´Ï¶ó °ÅÀÇ ´ëºÎºÐÀÇ ¾ð¾î°¡ 6-8°³Á¤µµÀÇ ¿ø½Ãµ¥ÀÌÅÍ Å¸ÀÔ¸¸À» °¡Áö°í ÀÖÀ» »ÓÀÌ´Ù. Á¾·ù¿ª½Ã Çѵΰ³ Á¤µµ¸¸ Á¦¿ÜÇϰí´Â C¿Í °ÅÀÇ Â÷À̰¡ ¾ø´Ù.

2 ¿ø½Ãµ¥ÀÌÅÍ Å¸ÀÔÀÇ ±¸Á¶È­

Àΰ£ÀÌ ´Ù·ç´Â µ¥ÀÌÅÍ·Î º¸ÀÚ¸é, ¼ýÀÚ,¹®ÀÚ,µµÇü¸¸ À־ ¸ðµç Á¤º¸¸¦ ´Ù·ê ¼ö ÀÖ±â´Â ÇÏ´Ù. ±×·¸Áö¸¸ ³Ê¹«³ª ºñÈ¿À²ÀûÀÌ´Ù. ±×·¡¼­, ÀÌµé µ¥ÀÌÅÍ Å¸ÀÔÀ» ±¸Á¶È­Çؼ­ »õ·Î¿î µ¥ÀÌÅÍ Å¸ÀÔÀ» ¸¸µé¾î¼­ »ç¿ëÇÏ°Ô µÈ´Ù. ¿¹¸¦ µéÀÚ¸é, ÁÖ¼Ò Á¤º¸¸¦ °ü¸®Çϱâ À§Çؼ­ ÁÖ¼Ò·ÏÀ» ¸¸µé°í, °³ÀνŻó°ü¸®¸¦ À§Çؼ­ ½Å»óÄ«µå¸¦ ¸¸µé¾î¼­ »ç¿ëÇÏ´Â °ÍÀÌ´Ù. ÀÌ·¸°Ô ±¸Á¶È­ÇÏ°Ô µÇ¸é, Á¤º¸¸¦ ÈξÀ ±ò²ûÇÏ°Ô ´Ù·ê ¼ö ÀÖ°Ô µÈ´Ù.

¸¸¾à À¯ÀúÁ¤º¸¸¦ °ü¸®ÇÒ ¸ñÀûÀ̶ó¸é, ¾Æ·¡¿Í °°ÀÌ µ¥ÀÌÅ͸¦ ±¸Á¶È­ ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
  +--- User Info  -----------------------+ 
  | Name : Text                          | 
  | Age  : Number                        | 
  | Address : Text                       | 
  | Email   : Text                       | 
  | Home    : Text                       | 
  +--------------------------------------+ 
 
Text¿Í Number¸¸À¸·Î À¯ÀúÁ¤º¸ °ü¸®¸¦ À§ÇÑ User Info¶ó´Â »õ·Î¿î µ¥ÀÌÅÍ Å¸ÀÔÀ» ¸¸µé¾ú´Ù.

3 ±¸Á¶Ã¼

C¾ð¾îµµ ¿ø½Ãµ¥ÀÌÅÍ Å¸ÀÔÀ» ±¸Á¶È­Çؼ­ »õ·Î¿î µ¥ÀÌÅÍ Å¸ÀÔÀ» ¸¸µé ¼ö ÀÖµµ·Ï Áö¿øÇϰí ÀÖ´Ù. À̰ÍÀ» ¿ì¸®´Â ±¸Á¶Ã¼(Structure)¶ó°í ÇÑ´Ù. ±¸Á¶Ã¼´Â ´ÙÀ½°ú °°Àº ¹æ½ÄÀ¸·Î ¸¸µé ¼ö ÀÖ´Ù.
struct ±¸Á¶Ã¼À̸§  
{ 
   µ¥ÀÌÅÍŸÀÔ º¯¼ö¸í; 
   µ¥ÀÌÅÍŸÀÔ º¯¼ö¸í; 
   µ¥ÀÌÅÍŸÀÔ º¯¼ö¸í;  
}; 
 

À§¿¡¼­ ¿¹·Î µé¾ú´ø, À¯ÀúÁ¤º¸¸¦ ±¸Á¶Ã¼·Î ¸¸µé¾î º¸µµ·ÏÇÏÀÚ. À̸§Àº ¹®ÀÚ¿­ÀÌ µé¾î°¡°Ô µÇ¹Ç·Î charÀÇ ¹è¿­À̳ª Æ÷ÀÎÅÍÇü½ÄÀ¸·Î ¼±¾ðÇØ¾ß ÇÒ °ÍÀÌ´Ù. Æ÷ÀÎÅÍ´Â Á» ±ÍÂúÀ¸´Ï, ¸ðµç ¹®ÀÚ¿­Àº charÀÇ ¹è¿­·Î Çϵµ·Ï ÇϰڴÙ. ³ªÀÌ´Â intÇüÀ¸·Î ÇÏ¸é µÉ°ÍÀ̰í, ÁÖ¼Ò, À̸ÞÀÏ, ȨÆäÀÌÁö´Â ¸ðµÎ char ¹è¿­·Î ÇÏ¸é ¹®Á¦¾øÀ» °ÍÀÌ´Ù.
struct userInfo 
{ 
    char name[12];  
    int age; 
    char address[80]; 
    char email[40]; 
    char home[40]; 
}; 
 
±¸Á¶Ã¼´Â ³»ºÎÀûÀ¸·Î ÀÚ½ÅÀÌ »ç¿ëÇÒ º¯¼öµéÀ» À¯ÁöÇÏ°Ô µÇ´Âµ¥, ÀÌ·¯ÇÑ º¯¼ö¸¦ ¸â¹öº¯¼ö¶ó°í ÇÑ´Ù.

4 ±¸Á¶Ã¼ÀÇ Á¤ÀÇ, ¼±¾ð ±×¸®°í »ç¿ë

±¸Á¶Ã¼´Â ¿ø½Ãµ¥ÀÌÅÍ Å¸ÀÔÀ» ¿ä¼Ò·Î °¡Áö´Â »ç¿ëÀÚ Á¤ÀÇ µ¥ÀÌÅÍŸÀÔÀ¸·Î º¼ ¼ö ÀÖ´Ù. ±×·¯¹Ç·Î ´Ù¸¥ ¿ø½Ãµ¥ÀÌÅÍ Å¸ÀÔ°ú ¸¶Âù°¡Áö·Î ¼±¾ðÇØ¼­ »ç¿ëÇÏ¸é µÈ´Ù. ±×·¯³ª »ç¿ëÀÚ Á¤ÀÇ µ¥ÀÌÅÍ Å¸ÀÔÀ̱⠶§¹®¿¡, ±¸Á¶Ã¼ÀÇ ±¸Á¶¸¦ ¸ÕÀú Á¤ÀÇÇØÁà¾ß ÇÑ´Ù. Àλç±â·Ï Ä«µå¸¦ ¸¸µé·Á¸é, Ä«µå¿¡ ¾î¶² ³»¿ëÀÌ µé¾î°¡¾ß ÇÏ´ÂÁö¸¦ ¸ÕÀú Á¤ÀÇÇØ¾ß Çϴ°Ͱú ¸¶Âù°¡Áö´Ù.

±¸Á¶Ã¼ÀÇ Á¤ÀÇ´Â À§¿¡¼­ ÀÌ¹Ì ¼³¸íÇѹٰ¡ ÀÖ´Ù. ÀÌÁ¦ Á¤ÀǸ¦ ÇÏ´Â À§Ä¡°¡ ¹®Á¦°¡ µÇ´Âµ¥, ±¸Á¶Ã¼´Â ÇÁ·Î±×·¥ Àüü¿¡¼­ ¼±¾ðµÇ°í »ç¿ëµÉ ¼ö ÀÖÀ¸¹Ç·Î, ±Û·Î¹ú¿µ¿ª¿¡¼­ Á¤Àǰ¡ µÈ´Ù. ¿¹¸¦ µéÀÚ¸é ¾Æ·¡¿Í °°´Ù.
// userInfo ±¸Á¶Ã¼¸¦ Á¤ÀÇÇÑ´Ù. 
struct userInfo 
{ 
    char name[12];  
    int age; 
    char address[80]; 
    char email[40]; 
    char home[40]; 
}; 
 
int main() 
{ 
    struct userInfo MyUser; 
} 
 

¼±¾ðÀº ÀϹݵ¥ÀÌÅÍŸÀÔ°ú ¸¶Âù°¡Áö´Ù. ±¸Á¶Ã¼ÀÇ À̸§µÚ¿¡ º¯¼ö¸íÀ» Àû¾îÁÖ¸é µÈ´Ù.
struct userInfo Myuser; 
 

ÀÌ·¸°Ô Á¤ÀÇ¿Í ¼±¾ðÀÌ ³¡³µ´Ù¸é, ÀÌÁ¦ »ç¿ëÇÏ´Â Àϸ¸ ³²¾Ò´Ù. ±¸Á¶Ã¼´Â ´Ù¸¥ ¿ø½Ã µ¥ÀÌÅÍ Å¸ÀÔµé°ú´Â ´Þ¸®, ³»ºÎ¿¡ ¸â¹öº¯¼ö¸¦ °¡Áø´Ù. ±×·¯¹Ç·Î °¢°¢ÀÇ ¸â¹öº¯¼öº°·Î Á¢±ÙÇÒ ¼ö ÀÖ¾î¾ß ÇÑ´Ù.

C ¾ð¾î´Â ¸â¹ö ¿¬»êÀÚ "."À» ÀÌ¿ëÇØ¼­ ¸â¹öº¯¼ö¿¡ Á¢±ÙÇÒ ¼ö ÀÖµµ·Ï Çϰí ÀÖ´Ù. userInfo ±¸Á¶Ã¼ ¼±¾ðÀÎ MyUser¿¡¼­ °¢°¢ÀÇ ¸â¹öº¯¼ö´Â ´ÙÀ½°ú °°ÀÌ Á¢±ÙÇÒ ¼ö ÀÖ´Ù.
strcpy(MyUser.name, "yundream\0"); 
MyUser.age = 33; 
strcpy(MyUser.email, "yundream@gmail.com\0"); 
strcpy(MyUser.home, "http://www.joinc.co.kr\0"); 
 

5 ±¸Á¶Ã¼¿Í ¹è¿­

¾î·Æ°Ô »ý°¢ÇÒ ÇÊ¿ä´Â ¾ø´Ù. ±¸Á¶Ã¼µµ µ¥ÀÌÅÍ Å¸ÀÔÀ̹ǷÎ, ´Ù¸¥ ¿ø½Ã µ¥ÀÌÅÍó·³ ¹è¿­À» ÀÌ¿ëÇØ¼­ µ¿ÀÏÇÏ°Ô ±¸Á¶È­ÇÒ ¼ö ÀÖ´Ù. ¸¸¾à À¯ÀúÁ¤º¸¸¦ 5°³¸¦ ÀúÀåÇÏ´Â ÇÁ·Î±×·¥À» ¸¸µç´Ù¸é, ´ÙÀ½°ú °°ÀÌ ¹è¿­·Î ¼±¾ðÇÏ¸é µÈ´Ù.
struct userInfo Myuser[5]; 
 

Á¢±Ù ¿ª½Ã ¹è¿­Ã·ÀÚ¸¦ ÀÌ¿ëÇϸéµÈ´Ù.
strcpy(MyUser[0].name, "yundream\0"); 
MyUser[0].age = 33; 
strcpy(MyUser[0].email, "yundream@gmail.com\0"); 
strcpy(MyUser[0].home, "http://www.joinc.co.kr\0"); 
 

¾ÆÁÖ °£´ÜÇÏ´Ù.

6 ±¸Á¶Ã¼¿Í Æ÷ÀÎÅÍ

¹è¿­°ú Æ÷ÀÎÅÍ´Â ¸Þ¸ð¸® »ó¿¡¼­ ±Ùº»ÀûÀ¸·Î µ¿ÀÏÇÑ ±¸Á¶¸¦ °¡Áø´Ù´Â °ÍÀ» ¹è¿ü´Ù. ±¸Á¶Ã¼¸¦ ¹è¿­·Î ´Ù·ê ¼ö ÀÖÀ¸´Ï, ¸¶Âù°¡Áö·Î Æ÷ÀÎÅͷεµ ´Ù·ê ¼ö ÀÖÀ¸¸ç, »ç¿ëÇÏ´Â ¹æ¹ýµµ 10Àå¿¡¼­ ¹è¿ü´ø°Í°ú µ¿ÀÏÇÏ´Ù.

Âü, ´Ù¸¥ ¿ø½Ãµ¥ÀÌÅÍ Å¸ÀÔ°ú ´Ù¸¥Á¡ÀÌ ÀÖ´Ù. ±¸Á¶Ã¼´Â ¸â¹öº¯¼ö¸¦ °¡Áö°í Àֱ⠶§¹®ÀÌ´Ù. ¾Õ¿¡¼­ ±¸Á¶Ã¼ÀÇ ¸â¹öº¯¼ö¿¡ Á¢±ÙÇϱâ À§Çؼ­ ¸â¹ö¿¬»êÀÚ .¸¦ »ç¿ëÇÏ¸é µÈ´Ù´Â °ÍÀ» ¹è¿ü´Ù. ±×·¯³ª ±¸Á¶Ã¼¸¦ Æ÷ÀÎÅÍ·Î ¼±¾ðÇßÀ» °æ¿ì¿¡´Â ¸â¹ö¿¬»êÀÚ¸¦ »ç¿ëÇÒ ¼ö°¡ ¾ø´Ù. ¸â¹ö¿¬»êÀÚ´Â °ªÀ» °¡Á®¿À±â À§Çؼ­ »ç¿ëÇÏ´Â ¿¬»êÀÚÀε¥, Æ÷ÀÎÅÍ´Â °ªÀÌ ¾Æ´Ñ ÁÖ¼Ò¸¦ ´Ù·ç±â ¶§¹®ÀÌ´Ù. ±×·¯¹Ç·Î ÁÖ¼Ò°¡ °¡¸®Å°´Â °÷ÀÇ °ªÀ» °¡Á®¿À±â À§ÇÑ »õ·Î¿î ¿¬»êÀÚ°¡ ÇÊ¿äÇÏ°Ô µÈ´Ù. C´Â ±¸Á¶Ã¼ ¸â¹öº¯¼öÀÇ Æ÷ÀÎÅÍ¿¬»êÀ» À§Çؼ­ ÂüÁ¶¿¬»êÀÚ¶ó´Â °ÍÀ» Á¦°øÇÑ´Ù. ÂüÁ¶¿¬»êÀÚ´Â ->¸¦ »ç¿ëÇÏ¸é µÈ´Ù.
strcpy(MyUser->name, "yundream\0"); 
MyUser->age = 33; 
strcpy(MyUser->email, "yundream@gmail.com\0"); 
 

´ç¿¬ÇÏÁö¸¸, Æ÷ÀÎÅÍ´Â ÁÖ¼Ò¸¸ °¡¸®Å°´Â µµ±¸À̹ǷÎ, ½ÇÁ¦ µ¥ÀÌÅ͸¦ ÀúÀåÇϱâ À§Çؼ­´Â ¸Þ¸ð¸®¸¦ ÇÒ´çÇØ¾ß¸¸ ÇÑ´Ù. ¸Þ¸ð¸® ÇÒ´çÀº malloc(3) ÇÔ¼ö¸¦ ÀÌ¿ëÇÏ¸é µÈ´Ù. ¾Æ·¡ ÄÚµå´Â userInfo ±¸Á¶Ã¼¸¦ Æ÷ÀÎÅÍ·Î ¼±¾ðÇÑ´ÙÀ½, 5°³ÀÇ userInfo Á¤º¸¸¦ ÀúÀåÇÒ ¼ö ÀÖµµ·Ï ¸Þ¸ð¸®¸¦ ÇÒ´çÇÏ´Â ÇÁ·Î±×·¥ÀÌ´Ù. ¸Þ¸ð¸®¸¦ ÇÒ´çÇϱâ À§Çؼ­´Â ±¸Á¶Ã¼ÀÇ Å©±â¸¦ ¾Ë¾Æ¾ß ÇÒ°ÍÀε¥, ´Ù¸¥ µ¥ÀÌÅÍ Å¸ÀÔ°ú ¸¶Âù°¡Áö·Î sizeof¸í·ÉÀ» ÀÌ¿ëÇØ¼­ ¾Ë¾Æ³¾ ¼ö ÀÖ´Ù.
#include <unistd.h> 
#include <stdlib.h> 
 
struct userInfo 
{ 
    char name[12]; 
    int age; 
    char address[80]; 
    char email[40]; 
    char home[40]; 
}; 
 
int main() 
{ 
    struct userInfo *MyUser; 
 
    printf("structure Size is %d\n", sizeof(struct userInfo)); 
    MyUser = (struct userInfo *)malloc(sizeof(struct userInfo) * 5); 
} 
 

7 ¿¹Á¦ ÇÁ·Î±×·¥

±×·³ °£´ÜÇÑ ¿¹Á¦ ÇÁ·Î±×·¥À» ¸¸µé¾î º¸µµ·ÏÇÏÀÚ. ÀÌ ÇÁ·Î±×·¥Àº »ç¿ëÀÚ Á¤º¸¸¦ ÀԷ¹޾Ƽ­ Ãâ·ÂÇÏ´Â ÀÏÀ» ÇÑ´Ù. ÀԷ¹޴ Á¤º¸´Â ´ÙÀ½°ú °°´Ù.
  • À̸§ : ¹®ÀÚ¿­
  • ³ªÀÌ : ¼ýÀÚ
´ÙÀ½°ú °°ÀÌ ±¸Á¶Ã¼¸¦ Á¤ÀÇÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
struct userinfo 
{ 
    char name[20]; 
    int  age; 
}; 
 
³ªÀÌ´Â 100»ìÀ» ³Ñ±â±â Èûµé °ÍÀÌ´Ù. ±×·¯¹Ç·Î age º¯¼öÀÇ °æ¿ì short int·Î Á¤ÀǸ¦ ÇÒ ¼öµµ ÀÖÀ» °ÍÀÌ´Ù. short int´Â 2byteÀ̹ǷΠ4byteÀÇ age¿¡ ºñÇØ¼­ 2byteÀÇ Å©±â¸¦ Àý¾àÇÒ ¼ö ÀÖÀ»°ÍÀ̶ó°í »ý°¢ÇÒ ¼ö ÀÖ´Ù. ÇÏÁö¸¸ ´Ù¸¥ ¿©·¯°¡Áö ÀÌÀ¯µé ¶§¹®¿¡, ²À ¸Þ¸ð¸® Å©±â¸¦ Àý¾àÇÒ ¼ö ÀÖ´Â °ÍÀº ¾Æ´Ï´Ù. ÀÌ¿¡ ´ëÇÑ ³»¿ëÀº µû·Î ±âȸ°¡ µÇ¸é ´Ù·çµµ·Ï ÇϰڴÙ. ¿ì¼±Àº ±×³É intÇüÀ¸·Î ÇϰڴÙ.

»ç¿ëÀÚ Á¤º¸´Â 5°³±îÁö¸¸ ÀÔ·ÂÇϵµ·Ï ÇϰڴÙ.
#include <stdio.h> 
#include <string.h> 
 
struct userinfo 
{ 
  char name[20]; 
  int age; 
}; 
 
int main(int argc, char **argv) 
{ 
  int age; 
  int i; 
  char buf[40]; 
  struct userinfo myfriend[5]; 
 
  for (i = 0; i < 5; i++) 
  { 
    printf("Name : "); 
    fgets(buf, 19, stdin); 
    buf[strlen(buf)-1] = '\0';            // <--- 1 
    sprintf(myfriend[i].name, "%s", buf); 
 
    printf("Age  : "); 
    fgets(buf, 19, stdin); 
    age = atoi(buf); 
    myfriend[i].age = age; 
  } 
 
  printf("=======================\n"); 
  for (i = 0; i < 5; i++) 
  { 
    printf("%12s : %d\n", myfriend[i].name, myfriend[i].age); 
  } 
} 
 
fgets(3)Àº Űº¸µå·Î ºÎÅÍ ¹®ÀÚ¿­À» ÀԷ¹ޱâ À§Çؼ­ »ç¿ëÇÏ´Â ÇÔ¼ö´Ù. 1Àº Űº¸µå·Î ÀÔ·ÂµÈ °³Ç๮ÀÚ¸¦ Á¦°ÅÇϱâ À§Çؼ­ »ç¿ëÇß´Ù.

atoi(3) ÇÔ¼ö´Â ¹®ÀÚ¿­À» intÇü °ªÀ¸·Î º¯°æÇϱâ À§Çؼ­ »ç¿ëÇÑ´Ù. À§ÀÇ ¿¹Á¦´Â ³ªÀ̸¦ ¼ýÀÚ·Î ¹Þ¾Æ¼­ ÇÏ´ÂÀÏÀÌ ¾øÀ¸´Ï, ±×³É ¹®ÀÚ¿­ ±×´ë·Î ÀúÀåÇØµµ »ó°üÀº ¾øÀ» °ÍÀÌ´Ù. ±×·¯³ª ³ªÀ̸¦ °¡Áö°í ºñ±³ÇÑ´Ù´øÁö ÇÏ´Â ¼ýÀÚ¿¬»ê ÀÛ¾÷ÀÌ ÀÖÀ» ¼ö ÀÖÀ¸¹Ç·Î, ³ªÁßÀ» À§Çؼ­ int ÇüÀ¸·Î º¯È¯ÇÏ´Â°Ô ÁÁÀ» °ÍÀÌ´Ù.

´ÙÀ½Àº Å×½ºÆ® °á°ú´Ù.
# ./userinfo 
Name : yundream 
Age  : 32 
Name : kopete 
Age  : 28 
Name : dream 
Age  : 31 
Name : minsu 
Age  : 29 
Name : test 
Age  : 32 
======================= 
    yundream : 32 
      kopete : 28 
       dream : 31 
       minsu : 29 
        test : 32 
 

¹®Á¦
À§ÀÇ ¿¹Á¦¸¦ Æ÷ÀÎÅ͸¦ »ç¿ëÇϵµ·Ï ¼öÁ¤Çغ¸ÀÚ.

8 ¸®½ºÆ®

±¸Á¶Ã¼ ¿ª½Ã ÀÏ¹Ý ¿ø½Ãµ¥ÀÌÅÍŸÀÔ°ú ¸¶Âù°¡Áö·Î ¹è¿­°ú Æ÷ÀÎÅ͸¦ ÀÌ¿ëÇØ¼­ ±¸Á¶È­ ÇÒ ¼ö ÀÖÀ½À» ¹è¿ü´Ù. ¹è¿­ ȤÀº Æ÷ÀÎÅÍÀÇ °æ¿ì ¸Þ¸ð¸® »ó¿¡ ´ÙÀ½°ú °°ÀÌ, ÀúÀåÀ» À§ÇÑ °ø°£ÀÌ ¸¸µé¾î Áú °ÍÀÌ´Ù.

structarray.png

±×·¯³ª ¸ðµç µ¥ÀÌÅÍ Å¸ÀÔÀ» ¿ø¼Ò·Î °¡Áú ¼ö ÀÖ´Ù´Â ±¸Á¶Ã¼ÀÇ Æ¯Â¡Àº ¹è¿­º¸´Ù Á»´õ À¯¿¬ÇÑ ÀڷᱸÁ¶ÀÇ È°¿ëÀÌ °¡´ÉÇÏ°Ô ÇÑ´Ù. ¸µÅ©µå ¸®½ºÆ®¿Í °°Àº ÀڷᱸÁ¶ÀÇ È°¿ëÀÌ °¡´ÉÇØÁø´Ù´Â Á¡ÀÌ´Ù.

¹è¿­ ȤÀº Æ÷ÀÎÅ͸¦ ÀÌ¿ëÇØ¼­ ¸Þ¸ð¸®¸¦ ÇÒ´çÇÏ´Â ¹æ½ÄÀÇ ¹®Á¦Á¡¿¡ ´ëÇØ¼­ »ý°¢Çغ¸µµ·Ï ÇÏÀÚ. ÀÌ ¹æ½ÄÀº ÀúÀåÇØ¾ß ÇÏ´Â ´ë»óÀÇ °¹¼ö¸¦ ¾Ë°í ÀÖÀ» ¶§, °£´ÜÇϸ鼭µµ È¿°úÀûÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª ±× Å©±â¸¦ ¾Ë ¼ö ¾øÀ» ¶§¿¡´Â ¹®Á¦°¡ µÈ´Ù. Áï ´ÙÀ½°ú °°Àº °æ¿ì°¡ µÉ °ÍÀÌ´Ù.
  • ¿ø¼ÒÀÇ Å©±â°¡ ¾ó¸¶°¡ µÉÁö ¾Ë¼ö ¾øÀ» °æ¿ì
    ¸íÇÔø ÇÁ·Î±×·¥À» ¸¸µé°æ¿ì, ¸î°³ÀÇ ¸íÇÕÀ» À§ÇÑ °ø°£ÀÌ ÇÊ¿äÇÒÁö ¿¹ÃøÇϱⰡ Èûµé´Ù. ¼ö½Ê°³°¡ µÉ ¼öµµ ÀÖÁö¸¸, ¼öõ°³°¡ µÉ ¼öµµ ÀÖ´Ù. ÃÖ´ë ¼öÁý°¡´ÉÇÑ ¸íÇÕÀÇ °¹¼ö¸¦ ¿¹»óÇØ¼­ ¹è¿­À» ÃæºÐÈ÷ Å©°Ô ÇÏ´Â ¹æ¹ýµµ ÀÖ°ÚÁö¸¸, ±×·² °æ¿ì ³Ê¹« ¸¹Àº ¸Þ¸ð¸®°ø°£À» ¼ÒºñÇÏ°Ô µÈ´Ù. ¶ÇÇÑ ÃæºÐÈ÷ Å©°Ô Àâ¾Ò´Ù°í ÇØµµ, °ø°£À» ÃʰúÇØ¼­ µ¥ÀÌÅͰ¡ µé¾î¿Ã ¼öµµ ÀÖ´Ù.
  • Áß°£¿¡ µ¥ÀÌÅͰ¡ Ãß°¡µÉ °æ¿ì
    100°³ÀÇ µ¥ÀÌÅͰ¡ Àִµ¥, »õ·ÎÃß°¡µÈ µ¥ÀÌÅ͸¦ 2¹øÂ° À§Ä¡¿¡ Áý¾î³Ö´Â °æ¿ì¸¦ »ý°¢Çغ¸ÀÚ. À¯ÀÏÇÑ ¹æ¹ýÀº 98°³ÀÇ µ¥ÀÌÅ͸¦ ÀüºÎ ÇÑÄ­¾¿ µÚ·Î ¹Ì·é´ÙÀ½¿¡, 2¹øÂ° À§Ä¡¿¡ »õ·Î Ãß°¡µÈ µ¥ÀÌÅ͸¦ º¹»çÇÏ´Â ¼ö¹Û¿¡ ¾ø´Ù.

¹è¿­(ȤÀº Æ÷ÀÎÅÍ)¸¦ ÀÌ¿ëÇØ¼­ °ø°£À» ÇѲ¨¹ø¿¡ ÇÒ´çÇÏ´Â °ÍÀº ³Ê¹« À¯¿¬ÇÏÁö ¸øÇÑ ¹æ¹ýÀÓÀ» ¾Ë ¼ö ÀÖ´Ù.

±×·¸´Ù¸é ¸®½ºÆ® ÇüÅ·ΠÇÏ¸é ¾î¶»°Ô µÉ±î. ±×·¯´Ï±î »õ·Î¿î µ¥ÀÌÅͰ¡ µé¾î¿Ã¶§¸¶´Ù. µ¥ÀÌÅ͸¦ ÀúÀåÇϱâ À§ÇÑ °ø°£À» ÇÒ´çÇÏ´Â ¹æ½ÄÀÌ´Ù. ¸¸¾à »õ·Î¿î µ¥ÀÌÅͰ¡ Ãß°¡µÇ¾ú°í, À̸¦ À§Çؼ­ ¸Þ¸ð¸®°¡ ÇÒ´çµÇ¾ú´Ù¸é, Ãß°¡µÈ ´ÙÀ½ µ¥ÀÌÅÍÀÇ À§Ä¡¸¦ ¾Ë°í ÀÖ¾î¾ß ÇÒ°ÍÀÌ´Ù. ¿ì¸®´Â Æ÷ÀÎÅ͸¦ ÀÌ¿ëÇØ¼­ µ¥ÀÌÅͰ¡ ÀúÀåµÈ À§Ä¡¸¦ ã¾Æ³¾ ¼ö ÀÖÀ½À» ¾Ë°í ÀÖ´Ù. ±×·¸´Ù¸é, °¢°¢ÀÇ µ¥ÀÌÅͰ¡ ´ÙÀ½ µ¥ÀÌÅÍÀÇ À§Ä¡¸¦ °¡¸®Å³ ¼ö ÀÖµµ·Ï ÇÏ¸é µÉ°ÍÀÌ´Ù. ¿¹ÄÁµ¥, ±¸Á¶Ã¼¿¡ ´ÙÀ½ ÀúÀåµÈ µ¥ÀÌÅÍÀÇ À§Ä¡¸¦ °¡¸®Å°´Â Æ÷ÀÎÅ͸¦ µÎ´Â °ÍÀÌ´Ù.

Áï ´ÙÀ½°ú °°ÀÌ ¸®½ºÆ®ÇüÅ·Π¸¸µå´Â °ÍÀÌ´Ù.

list.png

¸®½ºÆ®´Â ¹è¿­¿¡ ºñÇØ¼­ ´ÙÀ½°ú °°Àº ÀåÁ¡µéÀ» °¡Áø´Ù.
  1. Áß°£¿¡ ½±°Ô µ¥ÀÌÅ͸¦ »ðÀÔÇÒ ¼ö ÀÖ´Ù.
    µ¥ÀÌÅ͸¦ Çϳª »ý¼ºÇϰí, Æ÷ÀÎÅ͸¸ 2¹ø º¯°æÇØÁÖ¸é µÈ´Ù.
  2. ¸Þ¸ð¸®¸¦ È¿À²ÀûÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù.
    ÇÊ¿äÇÑ ¸¸Å­¸¸ ¸Þ¸ð¸®¸¦ »ç¿ëÇÑ´Ù.
  3. Æø³ÐÀº ÀÀ¿ëÀÌ °¡´ÉÇÏ´Ù.
    ¸µÅ©µå¸®½ºÆ®, ´õºí¸µÅ©µå ¸®½ºÆ®, ȯÇü ¸µÅ©µå ¸®½ºÆ®, tree, graph ¸ðµç °í¼öÁØÀÇ ÀڷᱸÁ¶µéÀÌ ¸®½ºÆ®ÀÇ ÀÀ¿ëÀÌ´Ù.

´ÙÀ½Àº ¸®½ºÆ®¿¡¼­ µ¥ÀÌÅ͸¦ »ðÀÔÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁØ´Ù. ¸Å¿ì È¿À²ÀûÀ¸·Î µ¥ÀÌÅ͸¦ »ðÀÔÇÒ ¼ö ÀÖÀ½À» ¾Ë ¼ö ÀÖ´Ù.

list_add.png

¹Ý¸é ¹è¿­¿¡ ºñÇØ¼­ »ç¿ëÇϱⰡ Á» ±î´Ù·Ó´Ù´Â ´ÜÁ¡À» °¡Áö´Âµ¥, ¸®½ºÆ®°¡ °¡Áö´Â ÀåÁ¡¿¡ ºñÇÒ¹Ù´Â ¾Æ´Ï´Ù.

9 ¸®½ºÆ® ÀÀ¿ë

±×·¯¸é À§¿¡¼­ ´Ù·ç¾ú´ø »ç¿ëÀÚ Á¤º¸ °ü¸® ÇÁ·Î±×·¥À» list(¸®½ºÆ®)¹öÀüÀ¸·Î ¹Ù²ãº¸µµ·Ï ÇϰڴÙ. ±¸Á¶Ã¼´Â °ÅÀÇ ºñ½ÁÇÏÁö¸¸, ´ÙÀ½ Ãß°¡µÉ µ¥ÀÌÅÍÀÇ ÁÖ¼Ò¸¦ ÀúÀåÇØ¾ß ÇϹǷÎ, Æ÷ÀÎÅÍÇü º¯¼ö°¡ Ãß°¡µÇ¾î¾ß ÇÑ´Ù.
struct userinfo 
{ 
  char name[20]; 
  int age; 
  struct userinfo *NextItem; 
}; 
 

´ÙÀ½Àº ¿Ï¼ºµÈ ÇÁ·Î±×·¥ÀÌ´Ù. ¾à°£ º¹ÀâÇÏ°Ô º¸ÀÏ ¼öµµ ÀÖÁö¸¸, ¸î¹ø ½ÇÇà½ÃŰ¸é¼­ õõÈ÷ »ý°¢Çغ¸¸é ÀÌÇØ°¡ °¥°ÍÀÌ´Ù.
#include <stdio.h> 
#include <string.h> 
 
struct userinfo 
{ 
  char name[20]; 
  int age; 
  struct userinfo *NextItem; 
}; 
 
int main(int argc, char **argv) 
{ 
  int age; 
  int i; 
  int ItemNum = 0; 
  char buf[40]; 
  struct userinfo *myfriend; 
  struct userinfo *first = NULL;  // óÀ½ Æ÷ÀÎÅ͸¦ ÀúÀåÇϱâ À§ÇÑ º¯¼ö 
  struct userinfo *prev = NULL; // ÀÌÀü Æ÷ÀÎÅ͸¦ ÀúÀåÇϱâ À§ÇÑ º¯¼ö 
 
  while(1) 
  { 
    printf("Name : "); 
    fgets(buf, 19, stdin); 
    buf[ strlen(buf)-1] = '\0'; 
 
    // strcmp´Â ¹®ÀÚ¿­À» ºñ±³ÇÑ´Ù. 
    // µÎ°³ÀÇ ¹®ÀÚ¿­ÀÌ °°´Ù¸é 0À» ¸®ÅÏÇÑ´Ù. 
    // »ç¿ëÀÚ°¡ Name ¿¡ quit¸¦ ÀÔ·ÂÇÏ¸é ·çÇÁ¸¦ ºüÁ®³ª°£´Ù. 
    if (strcmp(buf,"quit") == 0) 
        break; 
    else 
        myfriend = (struct userinfo *)malloc(sizeof(struct userinfo)*1); 
 
    sprintf(myfriend->name, "%s", buf); 
 
    printf("Age  : "); 
    fgets(buf, 19, stdin); 
    age = atoi(buf); 
 
    // ´ÙÀ½À» °¡¸®Å°´Â ¿ø¼Ò°¡ ¾øÀ¸¹Ç·Î 
    // NextItemÀº NULL À̵ȴÙ. 
    myfriend->age = age; 
    myfriend->NextItem = NULL; 
 
    // ¸¸¾à¿¡ ÀÌÀü ¿ø¼Ò°¡ ÀÖ´Ù¸é, 
    // ÀÌÀü ¿ø¼Ò¿¡°Ô ÇöÀç ¿ø¼ÒÀÇ Æ÷ÀÎÅ͸¦ ¾Ë·ÁÁØ´Ù. 
    if (prev != NULL) 
        prev->NextItem = myfriend; 
 
    // first °¡ NULL À̶ó¸é 
    // ÃÖÃÊÀԷµǴ ¿ø¼ÒÀÓÀ» ¾Ë ¼ö ÀÖ´Ù. 
    // ÀÌ ¿ø¼ÒÀÇ Æ÷ÀÎÅ͸¦ ÀúÀåÇÑ´Ù. 
    if (first == NULL) 
        first = myfriend; 
 
    // ÇöÀç ¿ø¼ÒÀÇ Æ÷ÀÎÅͰªÀ» ÀúÀåÇÑ´Ù. 
    prev = myfriend; 
    ItemNum++; 
  } 
  printf("Item : %d\n", ItemNum); 
 
  // first¿¡´Â ÃÖÃÊÀÔ·ÂµÈ ¿ø¼ÒÀÇ Æ÷ÀÎÅͰ¡ µé¾îÀÖ´Ù. 
  myfriend = first; 
 
  // NextItemÀÌ NULLÀÌ ¾Æ´Ò¶§±îÁö ·çÇÁ¸¦ µ¹¸é¼­ 
  // ¿ø¼Ò¸¦ Ãâ·ÂÇÑ´Ù. 
  while(myfriend != NULL) 
  { 
    printf("%12s : %d\n",myfriend->name, myfriend->age); 
    myfriend = myfriend->NextItem; 
  } 
} 
 

10 union

°ø¿ëü¶ó°í ºÎ¸£±âµµ ÇÏ´Â unionÀº ¼±¾ðÇÏ´Â ¹æ¹ý »ç¿ëÇÏ´Â ¹æ¹ýÀÌ ±¸Á¶Ã¼¿Í µ¿ÀÏÇÏ´Ù. ÇØ¼­ ¶§¶§·Î Çê°¥¸®±âµµ Çϴµ¥, ÀÌ·± ÀÌÀ¯·Î union ÀÚü¸¦ ¾Æ¿¹ »ç¿ëÇÏÁö ¾Ê´Â °æ¿ìµµ ÀÖ´Ù. »ç½Ç unionÀ» »ç¿ëÇÏÁö ¾Ê´õ¶óµµ, ÇÁ·Î±×·¥À» ÀÛ¼ºÇϴµ¥ Å« ¹®Á¦´Â ¾ø´Ù. ÇÏÁö¸¸ ÀÌ·±·ùÀÇ ¹®Á¦°¡ ±×·¸µíÀÌ »ç¿ëÇÏÁö ¾Ê¾Æµµ ¹®Á¦´Â ¾øÁö¸¸ »ç¿ëÇÏ¸é º¹ÀâÇÑ ¹®Á¦¸¦ Á»´õ ½±°Ô Ç® ¼ö ÀÖ´Ù. ±×·¯´Ï ÀÏ´ÜÀº ¾Ë¾ÆµÎ°í ³Ñ¾î°¥ ÇÊ¿ä´Â ÀÖÀ»°Å °°´Ù.

±×·¸´Ù°í ÇØ¼­, À̵ÑÀÇ Â÷À̰¡ À̸§¿¡¸¸ ÀÖ´Â °ÍÀº ¾Æ´Ï´Ù. °ø¿ëü¿¡ ¼ÓÇÑ ¸â¹öº¯¼öµéÀº µ¿ÀÏÇÑ ¸Þ¸ð¸® °ø°£À» »ç¿ëÇÑ´Ù´Â Á¡¿¡ À־ ±¸Á¶Ã¼¿Í ºÐ¸íÇÑ Â÷À̸¦ º¸ÀδÙ. ´ÙÀ½ÀÇ ¿¹¸¦ º¸ÀÚ.

¸ÕÀú ±¸Á¶Ã¼
struct data{ 
  int a;  
  char b[4]; 
}; 
 
ÀÌ°Ç À¯´Ï¿Â
union data{ 
  int a; 
  char b[4]; 
}  
 

À̵éÀº struct ¿Í union À̶ó´Â °Í¸¸ Á¦¿ÜÇϰí´Â ¸â¹öº¯¼öÀÇ Å©±â±îÁö ¿ÏÀüÈ÷ µ¿ÀÏÇØ º¸ÀÌÁö¸¸, ¸Þ¸ð¸® ÀÔÀå¿¡¼­ º¸¸é ´ÙÀ½°ú °°ÀÌ ºÐ¸íÇÑ Â÷À̸¦ º¸ÀδÙ.

union.png

ÀÌÁ¦ sizeof ¸¦ ÀÌ¿ëÇØ¼­, ¾î´ÀÁ¤µµÀÇ ¸Þ¸ð¸®°¡ ÇÒ´çµÇ¾ú´ÂÁö¸¦ È®ÀÎÇØ º¸ÀÚ.
#include <stdio.h> 
 
struct stdata 
{ 
    int a; 
    char b[4]; 
}; 
 
union undata 
{ 
    int a; 
    char b[4]; 
}; 
 
int main() 
{ 
    printf("st size : %d\n", sizeof(struct stdata)); 
    printf("un size : %d\n", sizeof(union undata)); 
} 
 
½ÇÇà½ÃÄѺ¸¸é, struct stdata ´Â 4+4=8byte ÀÇ Å©±â¸¦ Â÷ÁöÇÏÁö¸¸ union undata ´Â 4byteÀÇ Å©±â¸¸À» Â÷ÁöÇϰí ÀÖÀ½À» ¾Ë¼ö ÀÖ´Ù. ¿¹ÄÁµ¥, unionÀº °¢°¢ÀÇ ¸â¹ö¸¦ À§ÇÑ °ø°£À» ÇÒ´ç¹æ½ÄÀÌ ¾Æ´Ñ, °øÅëÀ¸·Î »ç¿ëÇÒ ¸Þ¸ð¸® °ø°£À» ÇÒ´çÇϰí, ÇÏ´ç ¸Þ¸ð¸® °ø°£¿¡ ´ëÇÑ ´Ù¸¥ ŸÀÔÀÇ ³×ÀÌ¹Ö ±ÔÄ¢¸¸ Á¤ÇÏ´Â ¹æ½ÄÀÓÀ» ¾Ë ¼ö ÀÖ´Ù. 4byte¶ó´Â °ø°£À» ÇÒ´çÇØµÎ°í, Çʿ信 µû¶ó¼­ int ÇüÀ¸·Î Àб⵵ Çϰí char ÇüÀ¸·Î Àб⵵ ÇÑ´Ù´Â ¾ê±â´Ù.

±»ÀÌ ÀÌ·¸°Ô±îÁö ÇØ¼­ ¾òÀ» ¼ö ÀÖ´Â ÀÕÁ¡ÀÌ ¾î¶²°ÍÀÌ ÀÖÀ»Áö ¾Ë¾Æº¸µµ·Ï ÇÏÀÚ.

Çüº¯È¯ ÀÛ¾÷À» ¾ø¾ÖÁØ´Ù.
µ¿ÀÏÇÑ µ¥ÀÌÅ͸¦ ´Ù¾çÇÑ Å¸ÀÔÀ¸·Î º¼¼ö ÀÖÀ½À¸·Î, Çüº¯È¯°ú °°Àº ±ÍÂúÀº °úÁ¤À» »ý·«ÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, int Çü°ªÀ» char ÇüÀ¸·Î 4°³¾¿ Àß¶ó¼­, ´Ù½Ã Àд °æ¿ì¸¦ »ý°¢Çغ¸ÀÚ. ÀÌ·± °æ¿ì´Â ÃæºÐÈ÷ ¹ß»ýÇÒ ¼ö ÀÖ´Ù. ÀÎÅͳÝÁÖ¼Ò´Â 32bit intÇüÀ¸·Î Ç¥ÇöµÉ¼ö ÀÖ´Ù. ±×·¸Áö¸¸ À̰ÍÀº »ç¶÷ÀÌ Àб⿡ ¸Å¿ì ¾î·Æ±â ¶§¹®¿¡, 1byte¾¿ 4ÀÚ¸®·Î ²÷¾î¼­ Ç¥ÇöÇÏ´Â ¹æ½ÄÀ» »ç¿ëÇÑ´Ù. ¸¸¾à intÇü ÀÎÅÍ³Ý ÁÖ¼Ò¸¦ .À¸·Î ±¸ºÐµÈ ÀÎÅÍ³Ý ÁÖ¼Ò·Î º¯È¯ÇÏ´Â ÇÁ·Î±×·¥À» ¸¸µé·Á°í ÇÑ´Ù¸é, 1byte¾¿ Àоîµé¿©¼­ Ç¥ÇöÇÏ´Â ÇÔ¼ö¸¦ ÀÛ¼ºÇØ¾ß ÇÒ °ÍÀÌ´Ù.

ÀÌ·¯ÇÑ ÇÔ¼ö¸¦ ÀÛ¼ºÇÏ´Â°Ç ¸Å¿ì ¾î·Á¿î ÀÛ¾÷ÀÌ´Ù. ±×·¸Áö¸¸ unionÀ» ÀÌ¿ëÇÑ´Ù¸é, °£´ÜÇÏ°Ô ÇØ°áÇÒ ¼ö ÀÖ´Ù.
#include <stdio.h> 
 
union undata 
{ 
    int a; 
    char b[4]; 
}; 
 
int main() 
{ 
    int ipaddr = 91827319; 
    union undata ipdata; 
 
    ipdata.a = ipaddr; 
 
    printf("%d.%d.%d.%d\n",ipdata.b[0], ipdata.b[1], 
            ipdata.b[2], ipdata.b[3]); 
} 
 
¾ÆÁÖ °£´ÜÇϰÔ, ÀÎÅÍ³Ý ÁÖ¼Ò º¯È¯ ÇÁ·Î±×·¥ÀÌ ¸¸µé¾îÁ³À½À» ¾Ë ¼ö ÀÖ´Ù.

´«Ä¡°¡ Á» ºü¸£´Ù¸é union À̶ó´Â °ÍÀº ¸Þ¸ð¸®¿µ¿ªÀ» Çϳª µÎ°í, ÀÌ ¸Þ¸ð¸®¿µ¿ªÀ» °¡¸®Å°´Â ¼­·Î´Ù¸¥ ŸÀÔÀÇ Æ÷ÀÎÅÍ º¯¼ö¸¦ ¼±¾ðÇѰͰú ºñ½ÁÇÏ´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖÀ» °ÍÀÌ´Ù. À§ÀÇ ÇÁ·Î±×·¥Àº ´ÙÀ½°ú °°ÀÌ º¯°æÇÒ ¼ö ÀÖ´Ù.
#include <stdio.h> 
 
int main() 
{ 
    int ipaddr = 91827319; 
    char *b; 
 
    b = (char *)&ipaddr; 
 
    printf("%d.%d.%d.%d\n", b[0], b[1], b[2], b[3]); 
} 
 

¸¸¾à ¾î¶² µ¿ÀÏÇÑ µ¥ÀÌÅ͸¦ Çʿ信 µû¶ó¼­, int, char, short int ÇüÀ¸·Î ´Ù¾çÇÏ°Ô Ç¥ÇöÇØ¾ßÇÒ Çʿ䰡 ÀÖ´Ù¸é, º¹ÀâÇÏ°Ô Æ÷ÀÎÅ͸¦ ¸¸µé¾î¼­ Çüº¯È¯Çϰųª ÇÒ ÇÊ¿ä ¾øÀÌ, ´ÙÀ½°ú °°Àº union ÀڷḦ ¼±¾ðÇØ¼­ »ç¿ëÇÏ¸é µÈ´Ù.
union mydata 
{ 
    int a; 
    short b[2]; 
    char c[4]; 
} 
 
union Àº ÇϳªÀÇ ¸Þ¸ð¸®¿µ¿ª¸¸À» »ç¿ëÇÏ´Â ¹æ½ÄÀ̹ǷÎ, °¢ ¸â¹öµéÀÌ °¡Áö´Â Å©±â°¡ µ¿ÀÏÇϵµ·Ï ¸ÂÃß¾îÁÙ Çʿ䰡 ÀÖ´Ù. ±âÁØÀº ¸â¹öº¯¼öÁß¿¡¼­ °¡Àå Å« µ¥ÀÌÅÍ Å¸ÀÔÀÌ µÈ´Ù. À§ÀÇ °æ¿ì int ÇüÀÌ °¡Àå Å©±â ¶§¹®¿¡, ´Ù¸¥ µ¥ÀÌÅÍŸÀÔÀÇ °æ¿ì ¹è¿­À» ÀÌ¿ëÇØ¼­ 4byte°¡ µÇµµ·Ï ÀûÀýÈ÷ ¼±¾ðÀ» ÇØÁÖ¾î¾ß ÇÑ´Ù. char c[2] ¿Í °°ÀÌ ¼±¾ðÇÑ´Ù°í ÇØ¼­, ÇÁ·Î±×·¥ÀÌ ÀÛµ¿ÇÏÁö ¾Ê°Å³ª ÇÏ´Â ÀÏÀº ¾ø°ÚÁö¸¸ µÚÀÇ 2¹ÙÀÌÆ®´Â »ç¿ëÇÏÁö ¸øÇÏ°Ô µÉ °ÍÀÌ´Ù.

11 ´ñ±Û

Ʋ¸°ºÎºÐ ¼öÁ¤/Ãß°¡ÇؾßÇÒ ºÎºÐÀÌ ÀÖÀ¸¸é ÄÚ¸àÆ® ´Þ¾ÆÁÖ¼¼¿ä.
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.