๋งค๊ฐ๋ณ์
-
[C,C++] C์์ ํจ์์ ๋ฐ์ดํฐ ์ ๋ฌ ๋ฐฉ๋ฒ(Call-by-Value, Call-by-Reference)ETC/[C, C++] 2022. 4. 25. 00:24
๊ฐ์ ์ ๋ฌํ๋ ๋ฒ(Call-by-Value) ex) ๋งค๊ฐ๋ณ์์ ๊ฐ์ ์ฆ๊ฐ์ํค๋ ํจ์ 1. ์ฆ๊ฐํ ๊ฐ์ ๋ณต์ฌ๋ณธ์ ๋งค๊ฐ๋ณ์๋ก ๋๊ฒจ์ฃผ๊ณ 2. ํจ์์์ ์๋ก์ด ์ฃผ์์ ์๋ ๋ณ์์ ๊ทธ ๊ฐ์ ์ ํ์ ์ฐ์ฐ์ ์งํํ ๋ค์ 3. ๋ฐํ ๊ฐ์ด ์์ ์ ๊ทธ ์ฆ๊ฐ๋ ๊ฐ์ ๊ธฐ์กด ๋ณ์์ ์ ์ฅ. ๊ธฐ๋ณธ์ ์ผ๋ก ํจ์๋ฅผ ํธ์ถํ ๋ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ ๋ฐฉ๋ฒ์ ๊ฐ์ ๋ณต์ฌ๋ณธ์ ์ฃผ๊ณ ์ฌ์ฉํ๊ณ ๋ค์ ๋ฐ์์ค๋ ๋ฐฉ๋ฒ์ด๋ค. ์ฃผ์๋ฅผ ์ ๋ฌํ๋ ๋ฒ(Call-by-Reference) void adding(int *pa){ *p+=5; } int main(){ int a=0; adding(&a); printf("%d\n",a);/5 } ์ด๊ฒ๋ ์ฌ์ค ์ฐธ์กฐ์๊ฐ ์๋๋ผ ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ๋๊ธฐ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ Call-by_Reference๋ผ ๋ณด๊ธฐ ์ด๋ ต๊ณ ์ด๊ฒ ๋ํ Call..