¹è¿­ call-by-value¿Í call-by-reference¸¦ µ¿½Ã¿¡ °¡´ÉÇÑ°¡¿ä

   Á¶È¸ 16546   Ãßõ 0    

¹è¿­µµ call-By-value·Î »ç¿ëÇϴ°ÍÀÌ °¡´ÉÇÑ°¡¿ä??

 

 »ç¿ë°¡´ÉÇÏ´Ù¸é ¾î¶²½ÄÀ¸·Î ÇÏ´Â°Ô ÁÁÀ»±î¿ä?

 

#include <stdio.h>

void aa(int *pa);

int main()
{
 int a[5]={1,2,3,4,5};
 aa(a);
 printf("%d",a[0]);
    return 0;
}

void aa(int *pa)
{
 pa[0]=10;
}

 

¿©±â¼­ Á¦°¡ °á°ú°ª 1À» ¹Þ°í ½Í¾î¿ä .. ±×·³ ¹æ¹ý ¾øÀ»±î¿ä?
ªÀº±Û Àϼö·Ï ½ÅÁßÇÏ°Ô.
ÀÌ¿µ½Ä 2009-11
¹æ¹ý ¾ø½À´Ï´Ù.. ¾Æ½Ã°ÚÁö¸¸ ¹è¿­ÀÚü°¡ ½ÃÀÛ ÁÖ¼Ò¸¦ °¡Áö°í ÁÖ¼Ò¿¬»êÇÏ´Â ¹æ½ÄÀ̴ϱî¿ä..
ÀÌÇöÈ£K 2009-11
¾î¶² ¿ëµµÀ̽ÅÁö´Â ¸ð¸£°ÚÁö¸¸,
¹è¿­¿¡ ÀÖ´Â ¼öÄ¡ µ¥ÀÌÅ͸¦ °øÀ¯Çϸ鼭, ÇÔ¼ö¿¡¼­ ÀϺΠº¯°æÇؼ­ »ç¿ëÇϽô°ųª ¹Í½º ¿ëµµ½Ã¶ó¸é,
¸ÞÀÎ ÇÑÂÊ¿¡¼­¸¸ °ªÀ» ÀÏÁ¤ÇÏ°Ô À¯Áö°ü¸®ÇÏ°í, º¹»çº»À¸·Î ¸¸µé¾î ÇÔ¼ö·Î ³¯¸®½Ã¸é µÇÁö ¾ÊÀ»±î¿©?
ÇãÁ¢ÄÚµå ¿Ã·Áº¾´Ï´Ù.

~~~
#include <stdio.h>
#include <string.h>

void calc_func(int *pa);

int main()
{
    int a[5]={'\0'};
    static int org[5]={100,200,300,400,500};

    //memset(a, '\0', sizeof (a));
    memcpy(a, org, sizeof(org));

    calc_func(a);
    printf("ORG:[%d, %d, %d, %d, %d] \n", org[0], org[1], org[2], org[3], org[4]);
    printf("CHG:[%d, %d, %d, %d, %d] \n", a[0], a[1], a[2], a[3], a[4]);
    printf("MIX:[%d, %d, %d, %d, %d] \n", org[0], a[1], org[2], a[3], org[4]);

    return 0;
}

void calc_func(int *pa)
{
    pa[0] = 999;
    // ~~
    //pa[4] = 888;
    //printf("[%d, %d, %d, %d, %d] changed...\n", pa[0], pa[1], pa[2], pa[3], pa[4]);
}


Output :
ORG:[100, 200, 300, 400, 500]
CHG:[999, 200, 300, 400, 500]
MIX:[100, 200, 300, 400, 500]
ÀÌÈ£µ¿ 2009-11
±»ÀÌ ¹è¿­À» call-by-value·Î ¾²½Ã°íÀÚ ÇÑ´Ù¸é,

structure ³ª class ¿¡ ³Ö°í ±× structure ³ª class ¸¦ ÇÔ¼ö ÀÎÀÚ·Î Àü´ÞÇÏ½Ã¸é µË´Ï´Ù.
àØéÍз 2009-11
memcpy ?
ÀÌÇöÈ£K 2009-11
ALpha 2009-11
±×°Ô ºÒ°¡´ÉÇÏÁø ¾Ê°ÚÁö¸¸ ±âº»ÇüÀ¸·Î´Â ¾ÈµÇÁö ¾Ê°Ú½À´Ï±î?

ÀÌ·²¶© cbv °í Àú·²¶© cbr À̶ó¸é ...

·¹ÆÛ·±½ºÀÎÁö º§·ùÀÎÁöÀÇ °ªÀ» °¡Áö´Â ¶ÈµüÀÌ ½ºÀ§Ä¡ º¯¼ö¸¦ Çϳª °¡Áö´Â .. ½ºÆ®·°Ãĸ¦ ¾²½Ã¸é µÇÁö ¾ÊÀ»±î¿æ?


QnA
Á¦¸ñPage 5582/5686
2014-05   4983745   Á¤ÀºÁØ1
2015-12   1519768   ¹é¸Þ°¡
2014-02   16525   ¹Ú
2015-10   16530   izegtob
2009-03   16530   ±è°Ç¿ì
2017-08   16531   ±è°Ç¿ì
2012-10   16536   Áߺ¹´Ð³Û
2012-04   16542   ¹«¾Æ
2016-06   16543   üÀκý
2002-05   16543   Çö¹«
2014-06   16545   ´ëÇѹα¹
2009-11   16547   ÇÑŵ¿
2019-08   16550   ¹è°¡³ª¿Ô¾î
2002-05   16550   ¼­¿µ¹«
2014-03   16552   ¹Îº´ÈÆ11
2019-10   16552   ¸Ó¸®¾ÆÇÁ³×
2002-07   16555   ÀÌÅÂÈñ
2014-08   16555   ÇÑÈ¿¼®
2002-05   16558   ±èµ¿·ü
2016-11   16562   ¹Îº´ÈÆ11
2010-10   16562   ±èÈ¿¼ö
2002-05   16565   ±èµ¿·ü