ÇÁ·Î±×·¡¹Ö

 3204, 19/161 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   TIM_Scutum
   [re] Æ÷ÀÎÅÍ ¿©·¯°¡Áö Áú¹®;;

http://www.hackerschool.org/HS_Boards/zboard.php?id=QNA_programming&no=379 [º¹»ç]


Áú¹®1)

float f[10];
int i[10];

int *i_ptr;
float *f_ptr;

i_ptr=i;
f_ptr=f;

(for¹®À¸·Î 10¹ø ¹Ýº¹)
printf("\n%d\t%f",*i_ptr++,*f_ptr++);

ÀÌ°ÍÀº µÎ Æ÷ÀÎÅÍ°¡ °¡¸£Å°´Â ÁÖ¼Ò°ª¿¡ ++ ½ÃÅ°´Â °ÍÀÌ ¾Æ´Ï°í
*i_ptr,*f_ptr°ú ¿¬°áµÇ¾î ÀÖ´Â ¹è¿­¿¡ ÇÒ´çµÇ¾îÀÖ´Â °ª¿¡ ++½ÃÅ°´Â°ÍÀÌ ¸Â³ª¿ä?


´äº¯ 1)  ¾Æ´Õ´Ï´Ù.
        
         ¿ì¼± ¿¬»êÀÚ ¿ì¼± ¼øÀ§À» ¾Æ¼Å¾ß ÇÒ°Í °°±º¿ä.
         ++ ÀÌ  * º¸´Ù ¿ì¼±¼øÀ§°¡ ³ô±â ¶§¹®¿¡ ¸ÕÀú ¿¬»êÀÌ µÇÁÒ.
         Áï ±×·¸±â ¶§¹®¿¡

         *i_ptr++ °°Àº °æ¿ì´Â ++ °¡ ¿ì¼±¼øÀ§°¡ ³ô±â ¶§¹®¿¡ i_ptr++ ¸ÕÀú ¿¬»êµË´Ï´Ù.
         *i_ptr++ Àº *(i_ptr++) °ú °°Àº Àǹ̰¡ µÇ´Â°ÍÀÌÁÒ.
         () ´Â ¸ÕÀú ¿¬»êµÈ´Ù´Â È®½ÇÇÑ Àǹ̸¦ ºÎ¿©Çϱâ À§ÇØ ³ÖÀº °ÍÀÔ´Ï´Ù.
         Áï ¾ø¾îµµ ±×¸¸ÀÌÁÒ.

         µû¶ó¼­ *i_ptr++ Àº i_ptr ÀÇ °ªÀÎ ÁÖ¼Ò°ª¿¡ ++ ¿¬»ê ÀÛ¾÷À» ÇÑÈÄ
         ±×´ÙÀ½¿¡ * ¿¬»êÀÚ¿¡ ÀÇÇØ º¯°æµÈ ÁÖ¼Ò°ª¿¡ ÀúÀåµÇ¾î ÀÖ´Â Á¤¼ö°ªÀ» ÂüÁ¶ÇÏ°ÚÁÒ.

         *i_ptr ¿Í ¿¬°áµÇ¾î ÀÖ´Â ¹è¿­¿¡ ÇÒ´çµÇ¾îÀÖ´Â °ª¿¡ ++½Ã±â À§Çؼ­´Â
         ++ ¿¬»ê ¼øÀ§°¡ * º¸´Ù ³ô±â ¶§¹®¿¡
        
         (*i_ptr)++ ÀÌ·¸°Ô ÇØÁà¾ß µË´Ï´Ù.
        



Áú¹®2)
ptr ÀÌ Æ÷ÀÎÅÍ À϶§

ptr=&x[10];

À¸·Î ÃʱâÈ­ ÇÒ¼ö ÀÖ³ª¿ä? ¸¸¾à ¾ÈµÈ´Ù¸é
Æ÷ÀÎÅÍ¿¡ ¿øÇÏ´Â ¹è¿­À» ÀúÀåÇÏ°í ½ÍÀ»¶©
¹è¿­ÀÇ À̸§Àº Æ÷ÀÎÅÍ»ó¼ö¸¦ ÀúÀåÇϸ鼭 + ½ÃÄÑÁÖ¾î¾ß Çϳª¿ä?
ex) x[4]ÀÇ ÁÖ¼Ò¸¦ ³Ö°í ½ÍÀ»¶©
ptr=x;
ptr +=4;
ÀÌ·¸°Ô ÇØ¾ß µÇ´ÂÁö?

´äº¯ 2) ¿ì¼± ù¹ø° ºÎÅÍ º¸ÁÒ.

ptr Æ÷ÀÎÅÍ À϶§

ptr=&x[10];  <- ÀÌ°ÍÀÌ °¡´ÉÇÑ °ÍÀΰ¡ Çϼ̴µ¥.
                °¡´É ÇÒ¼öµµ ÀÖ°í °¡´É ÇÏÁö ¾ÊÀ»¼ö ÀÖ½À´Ï´Ù.
                ¿ì¼± ptr=&x[10]; ¸¸ »ý°¢ÇØ º¸ÀÚ¸é ÀÌ·¸°Ô µÇÁÒ.
          
                Æ÷ÀÎÅÍ º¯¼ö ptr ¿¡
                ¹è¿­¸íÀÎ x ÀÇ 11¹ø° ¿ø¼ÒÀÇ ÁÖ¼Ò°ªÀ»
                ³Ö´Â´Ù.
                
                ptr=&x[10]; ÀÌ ¹®Àå ÀÚü´Â ¿ÇÀº ¹®ÀåÀÌ µË´Ï´Ù.
                ÇÏÁö¸¸ À̹®À常 ºÁ¼­´Â ¿Ç´Ù ¿ÇÁö ¾Ê´Ù¶ó°í ´ÜÁ¤ ÁöÀ»¼ö ¾ø½À´Ï´Ù.

¿¹·Î ÇÑ°¡Áö À߸øµÈ ¿¹¸¦ ¼Ò½º·Î Àû¾î µå¸±Å×´Ï Çѹø ¿¬±¸?ÇØ º¸¼¼¿ä.

#include <stdio.h>

int main(void)
{
    
    int *ptr;
    int x[10];    // x[10] ÀÌ ¾Æ´Ñ x[11] ÀÌ¸é ¿Ç°Ô µË´Ï´Ù.
    int count;

    ptr = &x[10];

    for(count = 0 ; count <10 ; count++)
    {
        printf("%#010x\n",x+count);
    }
    printf("%#010x\n",ptr);
    
    return 0;
}

±×¸®°í

ex) x[4]ÀÇ ÁÖ¼Ò¸¦ ³Ö°í ½ÍÀ»¶©
ptr=x;
ptr +=4;

À̶ó°í Çϼ̴µ¥.
Àú·±½ÄÀÇ Ç¥ÇöÀ¸·Î ÁÖ¼Ò ´ëÀÔÀÌ °¡´ÉÇÕ´Ï´Ù ÇÏÁö¸¸! ¹è¿­Àº 0ºÎÅÍ ½ÃÀÛÇÏÁÒ?
±×·¸±â ¶§¹®¿¡

ptr = x;  <- ¿ì¼± ptr ¿£ x¹è¿­ÀÇ Ã¹ ¿ø¼ÒÀÎ x[0] ÀÇ ÁÖ¼Ò( &x[0] )°¡ µé¾î°¡ÁÒ.
ptr += 3; <- x¹è¿­ÀÇ 4¹ø° ÁÖ¼Ò¸¦ ³Ö±â À§Çؼ± 4°¡ ¾Æ´Ñ 3À̾î¾ß ÇÕ´Ï´Ù
             (0ºÎÅÍ ½ÃÀÛÇϱ⠶§¹®ÀÌÁÒ.)

±×¸®°í óÀ½ºÎÅÍ ptr ¿¡ 4¹ø° ÁÖ¼Ò¸¦ ³Ö°í ½ÍÀ¸½Ç¶§´Â

ptr = x+3;  ¶Ç´Â
ptr = &x[3];  ÀÌ·¸°Ô ÇÏ½Ã¸é µË´Ï´Ù.


Áú¹®3)
µÎ°³ÀÇ Æ÷ÀÎÅ͸¦ »¬¼À¿¬»êÀ» ÅëÇؼ­ µÎ°³ÀÇ Â÷À̸¦ ±¸ÇÒ¼ö ÀÖ´Ù°í Çϴµ¥¿ä.
µÎ Æ÷ÀÎÅÍÀÇ Â÷À̸¦ ±¸Çؼ­ ¾î´À¶§ ¾²´Â°Ç°¡¿ä?


´äº¯ 3)
¹«½¼ ÀǹÌÀÎÁö Àß ¸ð¸£°Ú±º¿ä.. µÎ°³ÀÇ Â÷À̶õ ¹«¾ùÀ» ¸»ÇÏ´ÂÁö..:-]
ÈÄÈÄ :-) ÀÌ°ÍÀº Àúµµ ´Ù¸¥ ºÐÀÇ ´äº¯À» ±â´Ù·Á¾ß °Ú±º¿ä ;-)


Áú¹®4)
array[10]ÀÌ ÀÖ´Ù¸é *array ¶ó´Â Æ÷ÀÎÅÍ´Â ÀÚµ¿À¸·Î ¾µ¼ö Àִ°ÍÀΰ¡¿ä?
array[10]¿¡¼­ "array"¶ó´Â À̸§ÀÌ ¾²¿´À¸¹Ç·Î "array"¶ó´Â À̸§ÀÇ º¯¼ö³ª Æ÷ÀÎÅÍ
´Â ¼±¾ðÇÒ¼ö ¾ø´Â°É·Î ¾Æ´Âµ¥¿ä..

´äº¯ 3)

Æ÷ÀÎÅÍ ¶ó´Â°ÍÀº ÁÖ¼Ò ÀÔ´Ï´Ù.

array ¶ó´Â ¹è¿­¸íµµ ÁÖ¼Ò¸¦ °¡Áö°í ÀÖÁÒ.. ¹è¿­ÀÇ Ã¹ ¿ø¼ÒÀÇ ÁÖ¼ÒÀÌÁÒ.
±×·¡¼­ arrayÀ̶õ ¹è¿­¸íµµ Æ÷ÀÎÅÍ À̱ä ÇÕ´Ï´Ù¸¸.
±× ÁÖ¼Ò °ªÀÌ º¯ÇÒ¼ö ¾ø´Â Æ÷ÀÎÅÍ »ó¼ö ÀÔ´Ï´Ù.

ÁÖ¼Ò¿¡ ÀÖ´Â °ªÀ» ¾ò¾î ³»±â À§Çؼ± * (¿¡½ºÅÍ ¸®½ºÅ©) ¸¦ »ç¿ëÇÏÁÒ.

Áï array°¡ °¡¸£Å°°í ÀÖ´Â ÁÖ¼Ò¿¡ * ¸¦ »ç¿ëÇÏ¿© °ªÀ» ³Ö¾î ¿Ã¼ö Àִ°ÍÀÌÁö.

µû·Î array ¶õ Æ÷ÀÎÅÍ º¯¼ö³ª Á¤¼ö º¯¼ö¸¦ ¼±¾ðÀ» µû·Î ½Ã½ºÅÛ ½º½º·Î ³»ºÎÀûÀ¸·Î
¼±¾ðÇ߱⿡ »ç¿ëÇÒ¼ö Àִ°ÍÀÌ ¾Æ´Õ´Ï´Ù.

  Hit : 3600     Date : 2004/01/29 06:02



    
Abek_wolf ±×·¸´Ù¸é ¿¡½ºÅ͸®½ºÅ©´Â ¿¬»êÀÚ¼øÀ§¿¡µµ ¿µÇâÀ» ¹Þ´Â±º¿ä? 2004/01/29  
Abek_wolf Àú´Â °è»êÇÒ¶§¸¸ ¿µÇâÀ» ¹Þ´ÂÁÙ ¾Ë¾Ò½À´Ï´Ù ´äº¯ °¨»çÇÕ´Ï´Ù^^ 2004/01/29  
Abek_wolf x[3]¿¡ µé¾îÀÖ´Â 4¶ó´Â ¼ö¸¦ »ç¿ëÇÏ°í ½ÍÀ¸¸é ptr=&x[3]À̶ó°í ÇÏ¸é µÇ´Â°Å±º¿ä.(Æ÷ÀÎÅÍÃʱâÈ­¶§) 2004/01/29  
TIM_Scutum Nonono.... ptr = &x[3] <- address value..;; 2004/01/29  
TIM_Scutum À߸ø ÀÐÀ¸½Åµí º¸À̳׿ä.. 2004/01/29  
TIM_Scutum x[3] ¿¡ Á¤¼ö 4°¡ µé¾î ÀÖ°í, ±×¸®°í ±× ¼ö¸¦ ÂüÁ¶ ÇÏ°í ½ÍÀ¸½Ã¸é ±×³É x[3] À̳ª *(x+3) ÀÌ·¸°Ô ÇϼžßÁÒ 2004/01/29  
TIM_Scutum ptr = &x[3] ÀÌ°ÍÀº x[3] ÀÇ ÁÖ¼Ò°ªÀ» Æ÷ÀÎÅÍ º¯¼öÀÎ ptr ¿¡ ³Ö´Â °ÍÀÌÁÒ.. 2004/01/29  
TIM_Scutum ptr ´Â Æ÷ÀÎÅÍ º¯¼ö À̹ǷΠÁÖ¼Ò°ª ¿ÜÀÇ ´Ù¸¥ °ªÀº ÀúÀåÀÌ ºÒ°¡ ÇÕ´Ï´Ù. 2004/01/29  
2844   Æ÷ÀÎÅÍ ¿©·¯°¡Áö Áú¹®;;     Abek_wolf
01/29 3482
    [re] Æ÷ÀÎÅÍ ¿©·¯°¡Áö Áú¹®;;[8]     TIM_Scutum
01/29 3599
2842     Áú¹® 3 ¿¡´ëÇÑ ´äº¯ÀÔ´Ï´Ù.     ckw80
02/05 3457
2841   natstat °¡ ¹¹Á®?...¾Ë·ÁÁÖ¼À[3]     osy0810
01/29 4107
2840   ÇÔ¼ö¿¡¼­[10]     Abek_wolf
01/29 3510
2839     [re] ÇÔ¼ö¿¡¼­[1]     TIM_Scutum
01/31 3543
2838   ÄÄÆÄÀÏ·¯(½ÇÇàÇü ÆÄÀÏ º¯È¯ ÇÁ·Î±×·¥)±¸Çϴ°÷ÀÌ ¾îµðÀΰ¡¿ä?     asiajon1
01/29 2934
2837     [re] ÄÄÆÄÀÏ·¯(½ÇÇàÇü ÆÄÀÏ º¯È¯ ÇÁ·Î±×·¥)±¸Çϴ°÷ÀÌ ¾îµðÀΰ¡¿ä?     TIM_Scutum
01/29 3676
2836   C¾ð¾î Áú¹®¿° Ãʺ¸ÀÔ´Ï´Ù     cisconet
01/31 3100
2835     [re] C¾ð¾î Áú¹®¿° Ãʺ¸ÀÔ´Ï´Ù[1]     cisconet
01/31 3106
2834     [re] C¾ð¾î Áú¹®¿° Ãʺ¸ÀÔ´Ï´Ù[1]     TIM_Scutum
01/31 3705
2833   sizeof()¿¬»êÀÚ¿¡ ´ëÇؼ­ Áú¹® ÀÖ½À´Ï´Ù..[5]     na2r8
01/31 3793
2832   C¾ð¾î Áú¹®¿° Ãʺ¸ÀÔ´Ï´Ù     cisconet
02/01 3153
2831     [re] C¾ð¾î Áú¹®¿° Ãʺ¸ÀÔ´Ï´Ù[3]     TIM_Scutum
02/01 3298
2830   Æ÷ÀÎÅͼ±¾ð½Ã;;     isvan812
02/01 3136
2829     [re] Æ÷ÀÎÅͼ±¾ð½Ã;;[3]     TIM_Scutum
02/01 3490
2828   ªÀº ÄÚµå ºÐ¼®     isvan812
02/02 3320
2827     [re] ªÀº ÄÚµå ºÐ¼®     hkpco
02/03 3388
2826   ¹®ÀÚ¿­¿¡ ´ëÇÑ ¿©·¯°¡Áö Áú¹®     isvan812
02/02 3088
2825     [re] ¹®ÀÚ¿­¿¡ ´ëÇÑ ¿©·¯°¡Áö Áú¹®     hkpco
02/03 2997
[1]..[11][12][13][14][15][16][17][18] 19 [20]..[161]

Copyright 1999-2024 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org