Local, Global Variables
Local Variables
- ํจ์ ์์์๋ง ๋์ํ๊ณ ํจ์๊ฐ ๋๋๋ฉด ๋ฉ๋ชจ๋ฆฌ์์ ์ญ์ ๋๋ค.
main
ย ํจ์์์์ ๊ณ์ ์ด์์๋ ๋ ์์ด ์๋๋ค!main
ย ํจ์๋ย ํจ์ย ์ด๊ธฐ ๋๋ฌธ์ยmain
ย ํจ์ ์ข ๋ฃํยmain
ย ํจ์ ์์์ ์ ์ธ๋ ๋ณ์๋ ์ฌ๋ผ์ง๋ค.
Global Variables
- ํจ์๊ฐ ์คํ๋๊ธฐ ์ ์ ์ ์ธ๋๋ ๋ณ์
- ํ๋ก๊ทธ๋จ์ ์ฃผ๊ฐ ๋๋ย
main
ย ํจ์๊ฐ ๋๋๊ธฐ ์ ๊น์ง ํญ์ ์ด์์๋ ๋ณ์์ด๋ค.
Example #1
ํจ์์์ ์ ์ด๋ ์ซ์ ์์๋๋ก ์๋ํ๋ค. ์คํ์ ์ฐจ๋ฅผ ์ ์ด๋ณด์.
์ฌ๊ธฐ์ ์ฃผ์๊น๊ฒ ๋ด์ผํ๋ ๊ฒ์ ๊ฐ์ ๊ฐ๋ค๊ณ ๋จ์ ๋,ย ๋ณต์ฌย ํ๋ค๋ ์ . ๊ทธ๋ฆฌ๊ณ ย ์ ์ญ ๋ณ์, ์ง์ญ ๋ณ์ย ๊ฐ ์ด๋ป๊ฒ ๋์๊ฐ๋์ง์ ๋ํย ๊ตฌ์กฐย ์ด๋ค.
main
ย ํจ์ ์์ผ๋ก ๋ค์ด๊ฐ๋ค.- ์ ์ญ๋ณ์ย
x
ย ๋ฅผ ์ถ๋ ฅํ๋ค.01: 10
- ์ ์ญ ๋ณ์ย
x
์ 10์ยmakeDouble
ย ํจ์๋ก ๋ณต์ฌํ๋ค. - ๊ทธ ๊ฐ์ย
makeDouble
ย ํจ์์ยparam
ย ์ผ๋ก ๋ณต์ฌํ๋ค. makeDouble
ย ํจ์์ ์ง์ญ ๋ณ์ยx
ย ๋ฅผ ๋ง๋ ๋ค. ๊ฐ์ ์ ์ฅ๋์ง ์์๋ค.- ์ด ๊ฐ์ ์ถ๋ ฅํ๋ค. ๊ฐ์ ํ ๋นํ์ง ์์์ผ๋ฏ๋ก ์ฐ๋ ๊ธฐ๊ฐ์ด ์ถ๋ ฅ๋๋ค.
02: -1031346592 (Garbage)
makeDouble
ย ํจ์์ยx
ย ์ ๋์ด์จยparam
ย ๊ฐ์ ๋ณต์ฌํ๋ค.- ๋ณต์ฌ๋ย
x
ย ๋ฅผ ์ถ๋ ฅํ๋ค.03: 10
param * 2
ย ๊ฐ์ ๋ฐํํ๋ค.ยparam
ย ์ยmakeDouble
ย ํจ์๊ฐ ์์ง ๋๋์ง ์์์ผ๋ฏ๋ก ์ด์์๋ค.- ํจ์๊ฐ ์ข
๋ฃ๋๊ณ ,ย
makeDouble
ย ์ยx
ย ,ยparam
ย ์ ์ฌ๋ผ์ง๊ณ ยparam * 2
ย ๋ง ์์ ์ ์ฅ์์ ์ ์ฅ๋๋ค. - ๋ฐํ๋ย
param * 2
ย ์ยmain
ย ํจ์ยx
ย ์ ๋ฃ๋๋ค.ยparam * 2
ย ์ ์ฌ๋ผ์ง๋ค. main
ย ํจ์์ยx
ย ๋ฅผ ์ถ๋ ฅํ๋ค.04: 20
main
ย ํจ์๊ฐ ๋๋๊ณ 0 ์ ๋ฐํํ๋ค.- ํ๋ก๊ทธ๋จ์ด ์ข ๋ฃ๋๋ค.
Example #2
์์ ์์ ๋ฅผ ์ดํดํ๋ค๋ฉด, ์๋ ์ฝ๋์ ๊ฒฐ๊ณผ๊ฐ๋ ์ดํด๋ ๊ฒ์ด๋ค.
increment
ย ํจ์ ํต๊ณผํ ์ฌ์ฉ๋์๋ ์ง์ญ๋ณ์๋ ๋ชจ๋ ์ฌ๋ผ์ก๊ธฐ์, main
ย ํจ์์์์ย x
ย ๋ ๊ทธ๋๋ก 5 ์ด๋ค.
๋ง์ฝย main
ย ํจ์์์ย x
ย ๊ฐ์ ๋ณํ์ํค๊ณ ์ถ๋ค๋ฉด, increment
ย ํจ์์์ ๋ฐํ๊ฐ์ ๋ง๋ค์ดย x
ย ์ ๋์
ํ๋ ๋ฐฉํฅ์ผ๋ก ์ฝ๋๋ฅผ ์ผ์ด์ผ ํ๋ค.