[»çÀ̹ö ¼ö¾÷08]
<¾îµå·¹½º¿Í Æ÷ÀÎÆ®>

¼³
¸í

1.ÇнÀ¸ñÇ¥:¾îµå·¹½º¿Í Æ÷ÀÎÅÍ °³³äÀ» ÀÌÇØÇÑ´Ù.

2.ÇнÀ³»¿ë:

   1) µ¥ÀÌÅͳª ¸í·ÉÀÌ ±â¾ïµÇ´Â Àå¼ÒÀÇ À§Ä¡¸¦ ¹øÁö ¶Ç´Â ¾îµå·¹½º¶ó°í ÇÑ´Ù.
       C¾ð¾î¿¡¼­´Â &ÀDZâÈ£¸¦ »ç¿ëÇÏ¿© ¾îµå·¹½º(address)¸¦ ³ªÅ¸³»¸ç 
      ¾îµå·¹½º¸¦ °ªÀ» ÀúÀåÇÏ´Â º¯¼ö¸¦ *Æ÷ÀÎÅÍ(pointer)¶ó°í ÇÑ´Ù.

   2) Æ÷ÀÎÅÍ´Â º¯¼öÀ̹ǷΠÁõ°¡ ¹× °¨¼Ò¿¬»êÀÚ¸¦ »ç¿ëÇÒ¼ö°¡ ÀÖÀ¸¸ç 
      Á¤¼öÀÇ °¡°¨À» ÇÒ¼öÀÖ°í ºñ±³µµ °¡´ÉÇÏ´Ù.
      ´Ü,float³ª doubleÀº Æ÷ÀÎÅÍÀÇ °¡»êÀ» ÇÒ ¼ö ¾ø´Ù.

ÇÁ
·Î
±×
·¥
1

int main()
{
       int sbs, *p;
   
       p=&sbs;
       *p=31;
       printf("sbs=%d \n",sbs);

       return -1;
}
ÇÁ
·Î
±×
·¥
2

int main()
{
      static int kbs, *p;

      kbs =31;
      p = &kbs;
      *p = *p +1; // (*p)++;
      printf("kbs =%d, p=%u\n",kbs,p);

      return -1;
}
ÇÁ
·Î
±×
·¥
3

int main()
{
      static int sbs =14, *p ,**pp;

      p=&sbs;
      pp=&p;
      printf("p\'s address => %1d\n",p);
      printf("pp\'s address => %1d\n",pp);
  
      (*p)++;
      printf("sbs1=%d\n",sbs);
      printf("sbs2=%d\n",*p);
      printf("sbs3=%d\n", **pp);

      (**pp)++;
      printf("sbs4=%d\n",*p);
      printf("sbs5=%d\n",**pp);

      return -1;
}
ÇÁ
·Î
±×
·¥
4

int main()
{
      int kbs[]={10,20,30}
      int *mbc;

      char sbs[]="KIM";
      char *afkn="kim";

      mbc=kbs; 
      printf("%d \n",kbs[1]);
      printf("%d \n",*(mbc+2));
      printf("%s %s \n",sbs,afkn);

      return -1;
}

[Æò°¡¹®Á¦]
¹è¿­°ú Æ÷ÀÎÅÍÀÇ Â÷À̸¦ ºÐ¼®ÇÏ¿© ¿©·¯ºÐÀÌ »ý°¢ÇÏ´Â Àå´ÜÁ¡À» °Ô½ÃÆÇ¿¡ ¿Ã·ÁÁÖ¼¼¿ä!