6. 6
Call-by-Reference
1 1000
main ์ a
function ์ pa
main() function function() function
*pa = *pa + 1 ;
function() ๊ฐ ํธ์ถ๋ ๋
main์ a์ ์ฃผ์๊ฐ์ด
function์ pa๋ก ๋ณต์ฌ๋๋ค.
1000
Return ํ
2
function์ pa์ main a์ ์ฃผ์๊ฐ ์๊ธฐ ๋
๋ฌธ์, *pa๋ main์ a๋ฅผ ์๋ฏธํ๊ณ , ๋ฐ๋ผ์
*pa = *pa + 1 ; ํ๋ฉด main์ a ๊ฐ์ด ๋ณํํ
๊ฒ ๋๋ค.
1000
2
7. ยง Swap Function
7
Call-by-Reference
[Ex]
void swap(int i, int j) {
int temp = i ;
i = j;
j = temp;
}
int main(void) {
int a=3, b=7;
printf(โbefore swap : %d %dnโ, a, b);
swap( a, b );
printf(โafter swap : %d %dnโ, a, b);
return 0;
}
a, b ๋ ๋ณ์์ ๊ฐ์ด ๋ฐ๋๊น?
8. ยง Swap Function
8
Call-by-Reference
[Ex]
void swap(int *p, int *q) {
int temp = *p ;
*p = *q;
*q = temp;
}
int main(void) {
int a=3, b=7;
printf(โbefore swap : %d %dnโ, a, b);
swap(&a, &b);
printf(โafter swap : %d %dnโ, a, b);
return 0;
}
before swap : 3 7
after swap : 7 3