โ 1. ๋ธ๋ก๊ณผ ๋ณ์
(1) ๋ธ๋ก๊ณผ ๋ณ์ - ๊ฐ์
- ๋ธ๋ก(block) ๊ณผ ๋ณ์(variable) ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ , ์คํ ๋ฒ์๋ฅผ ๊ด๋ฆฌํ๋ ๊ฐ์ฅ ๊ธฐ๋ณธ ๋จ์์.
- ๋ณ์์ ์ ํจ๋ฒ์(scope) ๋ฌธ์ ๋ ๋ณ์์ ๋ํ ๊ธฐ์ต ์ฅ์์ ํ ๋น ๋ฐ ์ ์ง์ ๋ํ ๋ฌธ์ ๋ก ๋ณผ ์ ์์.
- ์ฆ, ๋ธ๋ก๋ด ๋ณ์์ ๋ํ ์ ํจ ๋ฒ์ ๊ฒฐ์ ๋ฌธ์ ๋ ํ๋ก๊ทธ๋จ์ ์คํ๊ณผ ๊น์ ๊ด๋ จ์ ๊ฐ์ง๋ค.
[ ์ ํจ ๋ฒ์ ๊ฒฐ์ ๋ฌธ์ ]
- ๋ธ๋ก์ด ์ฌ๋ฌ ๊ฒน์ผ๋ก ์ค์ฒฉ์ด ๋์ด์๋ ๊ฒฝ์ฐ "์ด๋ค ๋ธ๋ก์์ ์ ์๋ ๋ณ์๋ฅผ ์ด๋๊น์ง ์ธ ์ ์๋?", "๊ฒน์ณ์ง ๋ธ๋ก ์์์ ๊ฐ์ ์ด๋ฆ์ ๋ณ์๋ฅผ ์ ์ธํ๋ฉด ์ด๋ค ๊ฑธ ์จ์ผ ํ๋?" ์ ๊ฐ์ ๋ฌธ์ ๋ฅผ ์๋ฏธํ๋ค.
[ ๋ธ๋ก๊ณผ ๋ณ์ ]

- ํ์ฌ์ ๊ณ ๊ธ์ธ์ด๋ค์ ์์๊ฐ์ด ๋ธ๋ก์ ์ด์ฉํด ๊ตฌ์กฐ์ ํ๋ก๊ทธ๋๋ฐ์ ๋ฐ๋ณต, ์ ์ด์ ๊ฐ์ด ๋ณตํฉ๋ฌธ์ ๊ตฌํ ํ ์ ์์.
- ์์ ๊ฐ์ ๊ตฌ์กฐ๋ก ๋ธ๋ก ๋ด๋ถ์์ ๋ณ์์ ๋ํ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ๋ธ๋ก ๋จ์๋ก ํด์ค ์ ์๊ฒ ๋จ.
- ( * ๋จ, ์ธ์ด๋ง๋ค ํน์ฑ์ด ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ๋ธ๋ก ๋จ์๋ก ํ์ง ์์ ๊ฒฝ์ฐ๋ ์์. )
- ํ์ง๋ง, ์ฌ๊ธฐ์ ๋ํ์ ์ผ๋ก ์ฐ์ด๋ ๋ธ๋ก์ ๊ธฐ์ด๋ก ๋ณ์์ ์ ํจ ๋ฒ์๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ๋งํ ๊ฒ์.
(2) ๋ธ๋ก๊ณผ ๋ณ์ - ์ ํจ ๋ฒ์
- ๋ธ๋ก๋ค์ ์ค์ฒฉ๋๋ ๊ตฌ์กฐ๋ ๊ฐ์ง ์ ์์ด์ ๋ธ๋ก ์์ ๋ค๋ฅธ ๋ธ๋ก์ด ๋ค์ด๊ฐ ์์ ์ ์์.
- ๋ธ๋ก ๋ด๋ถ ์ด๋์ ์์นํ๋๋์ ๋ฐ๋ผ์ ๋ณ์๋ฅผ ์ ์ญ ๋ณ์, ์ง์ญ ๋ณ์๋ก ๋๋ ์ ์์.
[ ์ ์ญ ๋ณ์ ]
- ํ๋ก๊ทธ๋จ ์ฝ๋์ ๋ชจ๋ ์์ญ์์ ๊ธฐ์ต ์ฅ์์ ํ ๋น์ด ์ ํจํจ.
- ์ฆ, ํ๋ก๊ทธ๋จ ์์๋ถํฐ ๋๊น์ง ๋ฉ๋ชจ๋ฆฌ ๊ธฐ์ต์ฅ์์์ ํ ๋น ๋ฐ์ ๊ณต๊ฐ์ด ์ ์ง๊ฐ ๋๋ ๊ฒ์.
[ ์ง์ญ ๋ณ์ ]
- ๋ณ์๊ฐ ์ ์๋ ๋ธ๋ก ์์์๋ง ๊ธฐ์ต ์ฅ์์ ํ ๋น์ด ์ ํจํจ.
- ์ฆ, ์ง์ญ๋ณ์๋ ๋ธ๋ก์ ์คํ์ด ๋ค ๋๋๊ฒ ๋๋ฉด ํด๋น ๋ธ๋ก๋ด์ ๋ณ์๋ ๋ ๋ผ๊ฐ๋ ๋ฒ์๋ฅผ ๊ฐ์ง.

- [ ๋ธ๋ก 1 ] ์ ์ ์ธ ๋ฐ ์ด๊ธฐํ ๋ int gx = 10; ๋ด๋ถ์ [ ๋ธ๋ก 2 ] ๊ฐ ๋ง๋ค์ด์ก์ผ๋ฏ๋ก, [ ๋ธ๋ก 2 ] ์์ gx ๋ ์ฌ์ฉ์ด ๊ฐ๋ฅํจ.
- ์ฆ, [ ๋ธ๋ก 1 ] ์ด ๋๋๊ธฐ์ ๊น์ง๋ int gx = 10; ์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ ์ง๊ฐ ๋จ.
- ๋ฐ๋ฉด, [ ๋ธ๋ก 2 ] ์ int y = 2; ์ ์ ํจ๋ฒ์๋ [ ๋ธ๋ก 2 ] ์ด ๋๋๋ฉด ์ฌ๋ผ์ง๊ฒ ๋จ.
- ๋ํ, [ ๋ธ๋ก 2 ] ์ int gx = 20; ์ ์๋ก์ด ๋ณ์๋ฅผ ์ ์ธ ๋ฐ ์ด๊ธฐํ๋ฅผ ํ ๊ฒ์ด์ง [ ๋ธ๋ก 1 ] ์ gx ์๋ ์ ํ ๊ด๋ จ์ด ์์.
- ์ด๋ ๊ฒ ๋์ผํ ๋ณ์๋ช ์ ์ ์ธํ ์ ์๋ ์ด์ ๋, ๋ธ๋ก์ด ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ์ ์ฉ์ด ๊ฐ๋ฅํ ๊ฒ์.
- ๊ฒฐ๊ตญ ์ฌ์ ์๋ gx ๋ผ๋ ๋ง์ ์ ์ด์ ํ๋ฆฐ ํํ ์ธ๋ฏ..
(3) ๋ธ๋ก๊ณผ ๋ณ์ - ์ ํจ ๋ฒ์ ๊ท์น
[ ์ ํจ ๋ฒ์ ]
- ๊ฐ์ ์ด๋ฆ์ ๋ณ์๊ฐ ํ๋ก๊ทธ๋จ์ ์ฌ๋ฌ ๊ณณ์์ ์ ์๋์ด ์ฌ์ฉ๋ ๋, ์ด๋์ ์ ์๋ ์ด๋ค ๋ณ์์ ๊ฐ์ ์ฐธ์กฐํ๊ณ ์ ๊ทผํ ๊ฒ์ธ๊ฐ๋ ์ ํจ ๋ฒ์ ๊ท์น์ ๋ฐ๋ผ ๊ฒฐ์ ์ด ๋๋ค.
[ ์ ํจ ๋ฒ์ ๊ฒฐ์ ๋ฌธ์ ]
- ๋ธ๋ก์ด ์ฌ๋ฌ ๊ฒน์ผ๋ก ์ค์ฒฉ์ด ๋์ด์๋ ๊ฒฝ์ฐ "์ด๋ค ๋ธ๋ก์์ ์ ์๋ ๋ณ์๋ฅผ ์ด๋๊น์ง ์ธ ์ ์๋?", "๊ฒน์ณ์ง ๋ธ๋ก ์์์ ๊ฐ์ ์ด๋ฆ์ ๋ณ์๋ฅผ ์ ์ธํ๋ฉด ์ด๋ค ๊ฑธ ์จ์ผ ํ๋?" ์ ๊ฐ์ ๋ฌธ์ ๋ฅผ ์๋ฏธํ๋ค.
- ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์ , ์ ํจ ๋ฒ์ ๊ท์น(์ ํจ ๋ฒ์ ๊ฒฐ์ ๊ธฐ์ค)์ด ํ์ํ๋ค.
[ ์ ํจ ๋ฒ์ ๊ท์น ]
- ์ฝ๋๊ฐ ์ฌ๋ฌ ๋ธ๋ก์์ ์ค์ฒฉ๋์ด ์์ ๋, ์ด๋ค ๋ณ์๋ฅผ ์ด๋๊น์ง ์ฌ์ฉํ ์ ์๋์ง(์ ํจํ ๋ฒ์)๋ฅผ ์ ํ๋ ๊ท์น
- ์ข ๋ฅ๋ ๋ํ์ ์ผ๋ก ์ ์ ์ ํจ ๋ฒ์ ๊ท์น, ๋์ ์ ํจ ๋ฒ์ ๊ท์น ๋ ๊ฐ์ง๊ฐ ์์.
[ ์ ์ ์ ํจ ๋ฒ์ ๊ท์น ]
- ๋ณ์์ ์ ํจ ๋ฒ์ ๊ฒฐ์ ์ ์ปดํ์ผ์ด ์ด๋ฃจ์ด์ง๋ ์๊ธฐ์ ์ฝ๋์์ ๊ฐ์ฅ ๊ฐ๊น์ด ์ ์๋ ๊ฒ์ผ๋ก ์ ํจ ๋ฒ์๊ฐ ๊ฒฐ์ ๋จ
- ์ฝ๊ฒ๋งํด, ์ปดํ์ผ ์์ ์ ์ด๋ฏธ ์์๋ฅผ ์ ํด๋๋ ๊ฒ์ด๋ผ๊ณ ๋ณด๋ฉด ๋จ. ( ํ๋ ์ธ์ด์์ ๋ง์ด ์ )
[ ๋์ ์ ํจ ๋ฒ์ ๊ท์น ]
- ์ฝ๋์ ์ค์ ์คํ ํ๊ฒฝ์ ๋ฐ๋ผ ๋ณ์์ ์ ํจ ๋ฒ์๊ฐ ๊ฒฐ์ ๋จ.
- ์ฝ๊ฒ๋งํด, ์คํ์ค์ ์ด๋์ ํธ์ถ์ด ๋๊ณ , ์ด๋์ ์คํ๋๋์ง์ ๋ฐ๋ผ์ ๋ณ์์ ์ ํจ ๋ฒ์๊ฐ ๊ฒฐ์ ๋๋ ๊ฒ์ ์๋ฏธํจ.
โ 2. ํจ์์ ๊ธฐ๋ณธ ๊ฐ๋
(1) ๋ถํ๋ก๊ทธ๋จ: ํจ์์ ํ๋ก์์
[ ๋ถํ๋ก๊ทธ๋จ(Subprogram) ]
- ๋ฐ๋ณต ์ฌ์ฉ๋๋ ์ฝ๋ ๋ถ๋ถ์ ํ๋์ ๋จ์๋ก ๋ฌถ์ด์, ๊ณ ์ ํ ์ด๋ฆ์ ๋ถ์ฌํ๊ณ , ๊ทธ ์ด๋ฆ์ ์ผ๋ฐ ๋ช ๋ น์ด์ฒ๋ผ ์ฌ์ฉํ ์ ์๊ฒ ๋ง๋ ๊ฒ์ ์๋ฏธํ๋ค.
- ๋ถํ๋ก๊ทธ๋จ์ ์ข ๋ฅ๋ ํฌ๊ฒ ํจ์์ ํ๋ก์์ ๋ก ๊ตฌ๋ถ์ด ๋๋ค.
[ ํจ์์ ํ๋ก์์ ]
- ํจ์: ๊ฒฐ๊ณผ๊ฐ์ ๋ฐํํ๋ ํน์ง์ ๊ฐ์ง๋ค. ์ฆ, ์ ๋ ฅ์ ๋ฐ์ ์ฒ๋ฆฌ ๊ฒฐ๊ณผ๊ฐ์ ๋๋ ค์ฃผ๊ณ ์ถ์ ๋ ์ฌ์ฉํจ.
- ํ๋ก์์ : ๊ฐ์ ๋ฐํํ์ง ์๋ ํน์ง์ ๊ฐ์ง๋ค. ์ฆ, ํน์ ์์ ์ํ ๋ชฉ์ ์ผ๋ก ๋์ ์์ฒด๊ฐ ๋ชฉ์ ์ผ ๋ ์ฌ์ฉํจ.
- ๋ ๋ค ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์ฝ๋ ๋จ์๋ผ๋ ์ ์์ ๋ถํ๋ก๊ทธ๋จ์ผ๋ก ๋ถ๋ฆผ.
- # C, C++ ์ void ๋ก ๋ฐํ๊ฐ์ด ์๋ ๊ฒฝ์ฐ๋ ์์ง๋ง ๊ทธ๋ฅ ํจ์๋ก ํต์ผํด์ ๋ถ
(2) ๋ถํ๋ก๊ทธ๋จ: ํจ์์ ํ๋ก์์ - ๋ด๋ถ ๋์

- ์์ ๊ฐ์ด ํจ์๋ฅผ ํธ์ถํ๋ ๊ณณ์ ํธ์ถ ํจ์, ํธ์ถ ๋นํ๋ ํจ์๋ฅผ ํผํธ์ถ ํจ์๋ผ๊ณ ํ๋ค.
- ํจ์์ ํธ์ถ์ด ๋ฐ์๋๋ฉด, ํจ์๋ฅผ ํธ์ถํ ํ๋ก๊ทธ๋จ์ ์ํ์ด ์ผ์ ์ค๋จ๋๊ณ ํธ์ถ๋ ํจ์๋ก ์คํ ์ ์ด๊ฐ ์ด์ ๋จ.
- ํผํธ์ถ ํจ์์ ์คํ ์ค์ ํจ์ ์ข ๋ฃ ์กฐ๊ฑด์ด ๋ง์กฑ๋๋ฉด ์คํ ์ ์ด๊ฐ ํธ์ถํ ํจ์๋ ํธ์ถํ ํ๋ก๊ทธ๋จ์ผ๋ก ๋์๊ฐ.
- ํจ์์ ์ ์ด ์ง์ ์ ์ ํญ์ ์ฒซ ์ค์ด์ง๋ง ์ ์ด ์ข ๋ฃ(return) ์กฐ๊ฑด์ ๋ฐ๋ผ์ ์ฌ๋ฌ ์ค์์ ์ด๋ฃจ์ด์ง ์ ์์.
(3) ํจ์์ ๋งค๊ฐ๋ณ์
- ๋งค๊ฐ๋ณ์(parameter): ํธ์ถ ํจ์์ ํผํธ์ถ ํจ์ ์ฌ์ด์์ ์ฃผ๊ณ ๋ฐ๋ ๋ฐ์ดํฐ๋ฅผ ์๋ฏธํจ.
- ํธ์ถ ํจ์๋ ํผํธ์ถ ํจ์์ ์คํ ๋์์ด ๋ ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๋งค๊ฐ๋ณ์๋ก ๋๊ธธ ์ ์์.
- ํผํธ์ถ ํจ์์์ ์ฒ๋ฆฌ๋ ๊ฐ์ ์ ๋ฌํ๋ ๋งค๊ฐ๋ณ์๋ ํน์ ๋ฐ์ดํฐํ์ ๊ฐ์ง ์ ์์.
- ๋ฐํ๊ฐ: ํผํธ์ถ ํจ์์ ์คํ ๊ฒฐ๊ณผ๋ฅผ ๋๋ ค์ฃผ๋ ๋ฐํ๊ฐ๋ ํน์ ๋ฐ์ดํฐ ํ์ ๊ฐ์ง๋ค.
- ๋งค๊ฐ๋ณ์๋ก ๋ฐ์ดํฐ๋ฅผ ๋๊ฒจ ์ฒ๋ฆฌ ํ ๋ฐํ๊ฐ์ ํตํด ๋ค์ ์ ๋ฌํ๋ ๊ตฌ์กฐ๋ก ๋ณผ ์ ์์.
[ ํ์๋งค๊ฐ๋ณ์ ]
// ํ์ ๋งค๊ฐ๋ณ์: () ๊ดํธ ์์ ๋ณ์๋ฅผ ์๋ฏธํจ.
int function(int x) {
return x;
}
- ํผํธ์ถ ํจ์์ ์ ์์ ์ฌ์ฉ๋ ๋งค๊ฐ๋ณ์๋ฅผ ์๋ฏธํ๋ค.
[ ์ค๋งค๊ฐ๋ณ์ ]
// ์ค ๋งค๊ฐ๋ณ์: ํธ์ถ ํจ์์ () ์ธ์๋ก ๋๊ธฐ๋ ๊ฐ์ ์๋ฏธํจ.
int a = function(10);
int function(int x) {
return x;
}
- ํธ์ถ ํจ์์์ ํผํธ์ถ ํจ์๋ฅผ ํธ์ถํ๊ธฐ ์ํด ์ฌ์ฉ๋ ๋งค๊ฐ๋ณ์๋ฅผ ์๋ฏธํจ.
(4) ํจ์์ ๋งค๊ฐ๋ณ์ - ํธ์ถ ๋ฐฉ์
- ํธ์ถํ๋ ํ๋ก๊ทธ๋จ๊ณผ ํธ์ถ๋๋ ํจ์ ์ฌ์ด์ ๋งค๊ฐ๋ณ์๋ฅผ ์ ๋ฌํ๋ ๋ฐฉ์์ ๋ฐ๋ผ ๊ฐ ํธ์ถ ๋ฐฉ์, ์ฐธ์กฐ ํธ์ถ ๋ฐฉ์์ผ๋ก ๋๋จ.
[ ๊ฐ ํธ์ถ ๋ฐฉ์ ]
void change(int a, int b) { // ๊ฐ ํธ์ถ ๋ฐฉ์
a = 100;
b = 200;
printf("%d, %d\n", a, b); // result: 100, 200
}
int main() {
int a = 1, b = 2;
add(a, b); // ๊ฐ์ ๋๊ธด๊ฒ์.
printf("%d, %d\n", a, b); // result: 1, 2
}
- ์ค ๋งค๊ฐ๋ณ์๋ก ๋ค์ด๊ฐ๋ ๊ฒ์ ์ฃผ์๊ฐ์ด ์๋ ์ค์ ๊ฐ์ ๋๊ธฐ๊ฒ ๋๋ฉฐ, ์ดํ ํ์ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์์ ์ฒ๋ฆฌ๋ฅผ ํ๊ฒ ๋๋ค.
- ํด๋น ๋ฐฉ์์ ํ์ ๋งค๊ฐ๋ณ์๋ก ์ ์ธ ๋ a์ b๋ ์ค ๋งค๊ฐ๋ณ์๋ก ์ ๋ฌํ๋ ์ธ์๊ฐ์ผ๋ก ์ด๊ธฐํ๊ฐ ๋๋ค.
- ์ฆ, ์๋กญ๊ฒ ๋ณ์๊ฐ ์ ์ธ์ด ๋๊ณ ์ด๊ธฐํ๊ฐ ๋๋ ๋ฐฉ์์ด๋ฉฐ, ํด๋น ํ์ ๋งค๊ฐ๋ณ์๋ ํจ์ ๋ด๋ถ์์๋ง ์ ํจํ ์๋ช ์ ๊ฐ์ง๊ฒ ๋๋ค.
[ ์ฐธ์กฐ ํธ์ถ ๋ฐฉ์ ]
void change(int *a, int *b) {
*a = 100;
*b = 200;
printf("%d, %d\n", *a, *b); // result: 100, 200
}
int main() {
int a = 1, b = 2;
add(&a, &b); // ์ฃผ์๋ฅผ ์ ๋ฌ (์ฐธ์กฐ ํธ์ถ)
printf("%d, %d\n", a, b); // result: 100, 200
}
- ์ค ๋งค๊ฐ๋ณ์๋ก ์ธ์๋ฅผ ๋๊ธธ ๋ ๊ฐ์ด ์๋ ์ฃผ์๊ฐ์ ๋ณด๋ด์ฃผ๊ณ ํ์ ๋งค๊ฐ๋ณ์์์๋ ์ฃผ์๊ฐ์ ๋ฐ๋ ๋ฐฉ์์ด๋ค.
- ์ฆ, ํ์ ๋งค๊ฐ๋ณ์๊ฐ ๊ฐ์ ๋ฐ์ ๋, ๊ฐ ์ ๋ฌ ๋ฐฉ์๊ณผ ๋์ผํ๊ฒ ํ์ ๋งค๊ฐ๋ณ์๋ ๋ณ์๋ฅผ ์ ์ธ๊ณผ ๋์์ ์ด๊ธฐํ๋ฅผ ํ๊ฒ ๋๋ค.
- ๋ค๋ง ๋ค๋ฅธ์ ์ ํด๋น ๋ณ์๊ฐ์ผ๋ก ์ฃผ์๊ฐ์ ๋ฃ์๊ธฐ ๋๋ฌธ์ ํฌ์ธํ ์ด ๋์ด์๋ ์ํ์ด๋ค.
- ์ฆ, change() ํจ์์ ํ์ ๋งค๊ฐ๋ณ์๋ก ์ ์ธ ๋ฐ ์ด๊ธฐํ ๋ a ์ b ๋ ์๋ก ๋ง๋ค์ด์ง ๋ณ์์ง๋ง, ๋ด๋ถ์๋ main() ์์ ์ ์ธ ๋ a ์ b ์ ์ฃผ์๊ฐ์ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ ์์ ์ด ์ผ์ด๋๋ค๋ฉด main() a , b ์ ๊ฐ์ด ๋ณ๊ฒฝ์ด ๋๊ฒ ๋๋ค.
โ 3. ๋ณ์์ ์๋ช
- ๋ณ์๊ฐ ๊ฐ์ ์ ์ฅํ๊ธฐ ์ํด์๋ ๊ธฐ์ต ์ฅ์(๋ฉ๋ชจ๋ฆฌ) ๋ฅผ ํ ๋น ๋ฐ์์ผ ํ๋ค.
- ํด๋น ๋ฉ๋ชจ๋ฆฌ์ ๋ณ์๊ฐ ํ ๋น ๋๊ณ ์ดํ๋ถํฐ ํด์ ๋ ๋๊น์ง๋ฅผ ๋ณ์์ ์๋ช ์ผ๋ก ๋ณธ๋ค.
- ์ด๋ฌํ ๋ณ์์ ์๋ช ์ ํ ๋น ๋ฐฉ์์ ๋ฐ๋ผ ์๋ ํ ๋น, ์ ์ ํ ๋น, ์ง์ ํ ๋น 3๊ฐ์ง ๋ฐฉ์์ผ๋ก ๋๋๋ค.
- ์ด๋ฌํ ํ ๋น ๋ฐฉ์์ด ๋ณ์์ ์๋ช ์ ๊ฒฐ์ ํ๊ฒ ๋๋ ๊ฒ์ด๋ค.
(1) ์๋ ํ ๋น ๋ฐฉ์
void test() {
int x = 10; // ํจ์ ์์ํ ๋ ์คํ์ x ์์ฑ
} // ํจ์ ๋๋๋ฉด x ์๋ ์๋ฉธ
- ๋ณ์๊ฐ ์ ์ธ๋ ๋ธ๋ก(ํจ์, if๋ฌธ ๋ฑ)์ด ์์๋ ๋ ์๋์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ ๋น์ด ๋๋ค. -> ๋ณดํต ์ง์ญ๋ณ์
- ์ดํ, ๋ธ๋ก์ด ๋๋ ๋ ์๋์ผ๋ก ํด์ (ํ์)๊ฐ ๋๋ค.
- ์ปดํ์ผ๋ฌ๊ฐ ๊ด๋ฆฌํด์ฃผ๋ฉฐ, ์ฃผ๋ก ์คํ ์์ญ์ ์ ์ฅ์ด ๋จ. ( ๋ฐํ์ ์์ ์ ๋ธ๋ก์ ๋ค์ด๊ฐ ๋ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ๋ฐ๋๋ค ์๊ฐํ๋ฉด ๋จ )
(2) ์ ์ ํ ๋น ๋ฐฉ์
int count = 0; // ์ ์ญ ๋ณ์ → ํ๋ก๊ทธ๋จ ์์ ์ ๋ฉ๋ชจ๋ฆฌ ํ๋ณด
static int num = 5; // ์ ์ ์ง์ญ ๋ณ์ → ์ญ์ ํ๋ก๊ทธ๋จ ์ข
๋ฃ ์๊น์ง ์ ์ง
- ํ๋ก๊ทธ๋จ์ด ์์๋ ๋ ์๋์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ๋ณดํจ. ( ๋ฐ์ดํฐ ์์ญ์ ์ ์ฅ์ด ๋จ. ) -> ๋ณดํต ์ ์ญ๋ณ์
- ์ดํ, ํ๋ก๊ทธ๋จ์ด ์ข ๋ฃ๊ฐ ๋๋ฉด ํด์ ๊ฐ ๋จ. ( ์ปดํ์ผ ์์ ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ด ๋๋ค๊ณ ๋ณด๋ฉด ๋จ. )
- ์ฆ, ํ๋ก๊ทธ๋จ ์ ์ฒด๋์ ์ ์ง๊ฐ ๋จ.
(3) ์ง์ ํ ๋น ๋ฐฉ์
int *p = malloc(sizeof(int)); // ์ง์ ์์ฒญ
*p = 10;
free(p); // ์ง์ ํด์ (์ ํ๋ฉด ๋ฉ๋ชจ๋ฆฌ ๋์)
- ํ๋ก๊ทธ๋๋จธ๊ฐ ์ง์ ์์ฒญํ๊ณ ์ง์ ํด์ ํด์ผ ํจ.
- ํ(Heap) ์์ญ์ ์ ์ฅ์ด ๋๋ฉฐ, ํ๋ก๊ทธ๋๋จธ๊ฐ ์ง์ ๊ด๋ฆฌ๋ฅผ ํจ.
โ 4. ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋จ์ ์ํ ์ถ์ ์๋ฃํ
(1) ์ถ์ํ
- ์ถ์ํ๋ ๊ณตํต์ ์ ๋๋ฌ๋ด๊ณ , ์ฐจ์ด์ ์ ๊ฐ์ถ์ด ๋ณต์กํ ๋์์ ๋จ์ํ๊ณ ์ผ๋ฐํ๋ ํํ๋ก ํํํ๋ ๊ณผ์ ์.
- ์ฆ, ๋ณต์กํ ๋์์ด๋ ๊ฐ๋ ์์ ํต์ฌ์ ์ธ ์์ฑ๋ง์ ์ถ์ถํ์ฌ ํํํ๊ณ , ๋ถํ์ํ ์ธ๋ถ์ฌํญ์ ์จ๊ธฐ๊ฑฐ๋ ์ ๊ฑฐํ๋ ๊ฒ์ ์๋ฏธํจ.
- ์์: ๊ณตํต๋ ํน์ง(์ ์ฌ์ฑ)์ ๋ฌถ์ด ํ๋์ ๊ทธ๋ฃน์ด๋ ๊ฐ๋ ์ผ๋ก ๋จ์ํํจ์ผ๋ก์จ ์ดํด์ ์ฌ์ฌ์ฉ์ ์ฝ๊ฒ ํ ์ ์์.
- ์ ๋ฆฌํ๋ฉด, ์ถ์ํ ์์ฒด๋ ๋ณต์กํ ๊ฑธ ๋จ์ํํ๋ ์ฌ๊ณ ๋ฐฉ์์ผ๋ก ๋ณผ ์ ์์.
[ ์์ ]
- ์ง๋: ์ธ์์ ๊ฑด๋ฌผ, ๋๋ฌด, ์ฌ๋, ์๋์ฐจ ๋ฑ ์๋ง์๊ฒ ์์ง๋ง, ์ง๋์๋ ๋๋ก์ ์์น ์ ๋ณด๋ง ํ์๋จ ( ๋ถํ์ํ ๊ฑด ์๋ต )
- ๋ฆฌ๋ชจ์ปจ: TV ๋ด๋ถ ํ๋ก๋ ์ ๊ธฐ ์ ํธ๋ ๋ชฐ๋ผ๋, ๋ฒํผ์ผ๋ก ๋ชจ๋ ํ๋ก๋ฅผ ๋์์ํฌ ์ ์์. ( ๋ณต์กํ ๋ด๋ถ ์จ๊น, ํ์ํ ๊ธฐ๋ฅ ๋ ธ์ถ )
- ์๋์ฐจ: ์ด์ ์์ง ์๋ ์๋ฆฌ๋ ๋ชฐ๋ผ๋ ํธ๋ค, ์์ , ๋ธ๋ ์ดํฌ๋ง ์กฐ์ํ๋ฉด ๋จ → ํต์ฌ ๋์๋ง ์ถ์ถํ ๊ฒฐ๊ณผ
[ ๊ฒฐ๋ก ]
- ์ถ์ํ ์์ฒด๋ ํ๋ก๊ทธ๋๋ฐ ์ ๋ฐ, ๋ ๋์๊ฐ ์ฌ๊ณ ์ ๋ฐฉ์ ์ ๋ฐ์ ์ฐ์ด๋ ์ผ๋ฐ์ ์ธ ๊ฐ๋ ์.
- ์ฆ, ์ ์ฐจ์ ํ๋ก๊ทธ๋๋ฐ์์ ๋ณต์กํ ์ฝ๋๋ฅผ ํจ์๋ก ๋ฌถ๋ ๊ฒ๋ ์ถ์ํ๋ก ๋ณผ ์ ์์.
- ์ฌ๊ธฐ์ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ๋ ผํ๋ฉด, ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ๊ฐ์ฒด์ ์ถ์ํ๋ฅผ ํตํด ๊ตฌํํ๋ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ๋ฒ์.
- ์ฆ, ์ถ์ํ ๊ฐ๋ ์ ๊ฐ์ฒด์ ์ ์ฉํด ๊ฐ์ฒด ๋จ์๋ก ๊ณตํต์ ์ ๋ฌถ๋ ์ถ์ํ๋ฅผ ์๋ฏธํ๋ ๊ฒ์.
(2) ํ๋ก์์ ์ ์ถ์ํ
- ์ํ ๋ฐฉ๋ฒ์ ๊ธฐ์ ํ์ง ์๊ณ ๋ฌด์์ด ์ํ๋๋๊ฐ๋ฅผ ๋ฌ์ฌํจ์ผ๋ก์จ ์ถ์ํ์์ผ ์ฃผ๋ ์คํ๊ณผ์ ์ ์ถ์ํ ๊ธฐ๋ฒ์
- ์ฝ๊ฒ๋งํด, ์ ๋ ฌ ํจ์๊ฐ ์๋ค๊ณ ๊ฐ์ ํ๋ฉด ๋ด๋ถ์ ๊ตฌ์ฒด์ ์ธ ์๊ณ ๋ฆฌ์ฆ ๋ช ์ธ์์ด ์ ๋ ฌ ํจ์๋ผ๋๊ฒ ์์ฒด๋ก ์ ๋ ฌ์ ํ๊ธฐ ๋๋ฌธ์ ๊ฐ์ ธ๋ค๊ฐ ์ฌ์ฉํ๋ฉด ํ๋ฉด ๋๋ ๊ฒฝ์ฐ๋ก ๋ณด๊ณ ์ด๋ฌํ ์ํ๋ง ๋ฌ์ฌํ๋ ํจ์ ์ถ์ํ๋ก ๋ณผ ์ ์์.
- ๊ฐ์ฒด์งํฅ์์ ๊ฐ์ฒด ๋ด๋ถ์ ๋ฉ์๋๋ “ํ๋ก์์ ์ถ์ํ”์ ์ฐ์ฅ์ ์์ ์๋ค๊ณ ๋ณผ ์ ์์.
- ๊ฒฐ๊ตญ ๋ถ์ฐจ์ ์ธ ์์ฑ์ธ ๊ตฌํ ์์ค ์ฝ๋, ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํ๋ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก์ ํ๋ก๊ทธ๋๋จธ ์ ์ฅ์์ ์ค์ํ๊ฒ ๋ณด์ง ์๊ฒ๋จ.
(3) ์๋ฃ์ ์บก์ํ

- ์บก์ํ๋ ๋ด๋ถ ๊ตฌํ์ ์จ๊ธฐ๊ณ ์ธ๋ถ์์๋ ํ์ํ ๊ธฐ๋ฅ๋ง ๋ณผ ์ ์๋๋ก ์ ํํ๋ ๊ฒ์ ์๋ฏธํ๋ค.
- ์บก์ํ๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๋ ๊ฐ์ฒด์ ์ผ๊ด์ฑ๊ณผ ์์ ์ฑ์ ์ ์งํ๊ธฐ ์ํด์์ด๋ค.
- ์ฆ, ์บก์ํ๋ ๋ด๋ถ ์ฝ๋์ ๋ณ๊ฒฝ์ผ๋ก ์ธํด ์ธ๋ถ ์ฝ๋์ ์ํฅ์ด ๊ฐ ์ ์์ผ๋ฏ๋ก ๋ง๊ธฐ ์ํจ์.
- ๊ฒฐ๊ณผ์ ์ผ๋ก, ์บก์ํ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ถ๊ฑฐ๋ ๋จ์ํํ๋ ๊ฐ๋ ์ด๋ฉฐ ํ๋ก๊ทธ๋จ์ ์ฌ์ฌ์ฉํ๊ธฐ ์ฝ๊ฒ ๋ง๋ค๊ธฐ ์ํ ํต์ฌ ์๋ฆฌ์.
- ์บก์ํ๋ก ์ธํด ๊ฐ์ฒด ๋ด๋ถ ๊ตฌ์กฐ๋ฅผ ๋ชฐ๋ผ๋ ์ธ๋ถ์์ ๋ฏธ๋ฆฌ ์ ์๋ ์ด๋ฆ(๋ฉ์๋, ์ธํฐํ์ด์ค)๋ง ์๊ณ ์ฌ์ฉ์ด ๊ฐ๋ฅํด์ง.
'๐๋ฐฉ์กํต์ ๋ํ๊ต > ๐ป์ปดํจํฐ๊ณผํ ๊ฐ๋ก ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [์ปดํจํฐ๊ณผํ ๊ฐ๋ก ] 14๊ฐ - ๋ฐ์ดํฐ๋ฒ ์ด์ค(2) (0) | 2025.11.10 |
|---|---|
| [์ปดํจํฐ๊ณผํ ๊ฐ๋ก ] 13๊ฐ - ๋ฐ์ดํฐ๋ฒ ์ด์ค(1) (0) | 2025.11.10 |
| [์ปดํจํฐ๊ณผํ ๊ฐ๋ก ] 11๊ฐ - ํ๋ก๊ทธ๋๋ฐ ์ธ์ด(1) (0) | 2025.11.10 |
| [์ปดํจํฐ๊ณผํ ๊ฐ๋ก ] 10๊ฐ - ์ปดํจํฐ ๊ตฌ์กฐ(2) (0) | 2025.11.10 |
| [์ปดํจํฐ๊ณผํ ๊ฐ๋ก ] 9๊ฐ - ์ปดํจํฐ ๊ตฌ์กฐ(1) (0) | 2025.11.10 |
