(ํ์) ๋ณ์ = ๋ฐ์ดํฐ
=์ ๊ธฐ์ค์ผ๋ก ์ผ์ชฝ์ ๋ณ์, ์ค๋ฅธ์ชฝ์ ๋ฐ์ดํฐ๋ผ๊ณ ํ๋ค.
count = 3
- ์ฝ๋ (Code) ์์ญ:
- ํ๋ก๊ทธ๋จ์ "์๋ฆฌ์ฑ "์ด๋ผ๊ณ ์๊ฐํ ์ ์๋ค.
- ์๋ฆฌ์ฑ ์๋ ์๋ฆฌ ๋ฐฉ๋ฒ(๋ช ๋ น์ด)๋ค์ด ์ ํ ์์ด์, ์๋ฆฌ์ฌ๊ฐ ์ด๋ฅผ ๋ณด๊ณ ์๋ฆฌ๋ฅผ ๋ง๋ ๋ค.
- ํ๋ก๊ทธ๋จ์ด ์คํ๋ ๋, CPU๊ฐ ์ด ์๋ฆฌ์ฑ ์ ๋ณด๊ณ ๋ฌด์์ ํด์ผ ํ ์ง ์์๋ธ๋ค.
- ํ๋ก๊ทธ๋จ์ ์คํ ์ฝ๋๊ฐ ์ ์ฅ๋๋ ์์ญ์ด๋ค.
- ์ฃผ๋ก ์ฝ๊ธฐ ์ ์ฉ์ด๋ฉฐ, ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ฉด์ CPU๊ฐ ๋ช ๋ น์ด๋ฅผ ๊ฐ์ ธ์ ์คํํ๋ค.
- ์ปดํ์ผ๋ ๊ธฐ๊ณ์ด ์ฝ๋๊ฐ ์์นํ๋ฉฐ, ํจ์์ ๋ฉ์๋ ๋ฑ์ด ํฌํจ๋๋ค.
- ๋ณดํต ํ ์คํธ ์ธ๊ทธ๋จผํธ๋ผ๊ณ ๋ ํ๋ค.
- ๋ฐ์ดํฐ (Data) ์์ญ:
- ์ฃผ๋ฐฉ์ "์ ์ฅ ๊ณต๊ฐ"๊ณผ ๊ฐ๋ค
- ๋ชจ๋ ์ฌ๋ฃ(์ ์ญ ๋ณ์์ ์ ์ ๋ณ์)๊ฐ ์ ์ฅ๋์ด ์๋ค.
- ํ๋ก๊ทธ๋จ ์์ํ ๋ ์ฌ๋ฃ๋ฅผ ๊บผ๋ด๋๊ณ , ํ๋ก๊ทธ๋จ์ด ๋๋ ๋๊น์ง ๊ทธ๋๋ก ๋๋ ๊ณต๊ฐ
- ์ด๊ธฐํ๋ ๋ฐ์ดํฐ๋ ๋ ์ํผ์ ๋ฐ๋ผ ์ด๋ฏธ ์ค๋น๋ ์ฌ๋ฃ(์ด๊ธฐํ๋ ๋ณ์)์ด๊ณ , ์ด๊ธฐํ๋์ง ์์ ๋ฐ์ดํฐ๋ ์์ง ๊บผ๋ด์ง ์์ ์ฌ๋ฃ(์ด๊ธฐํ๋์ง ์์ ๋ณ์)์ด๋ค
- ์ ์ญ ๋ณ์์ ์ ์ ๋ณ์๊ฐ ์ ์ฅ๋๋ ์์ญ์ด๋ค
- ํ๋ก๊ทธ๋จ ์์ ์ ํ ๋น๋๊ณ ํ๋ก๊ทธ๋จ์ด ์ข ๋ฃ๋ ๋๊น์ง ์กด์ฌํ๋ค
- ๋ฐ์ดํฐ ์์ญ์ ๋ค์ ์ด๊ธฐํ๋ ๋ฐ์ดํฐ ์ธ๊ทธ๋จผํธ์ ์ด๊ธฐํ๋์ง ์์ ๋ฐ์ดํฐ ์ธ๊ทธ๋จผํธ(BSS)๋ก ๋๋๋ค
- ์คํ (Stack) ์์ญ:
- ์ฃผ๋ฐฉ์ "์์ ๋"๋ผ๊ณ ์๊ฐํ ์ ์๋ค
- ์๋ฆฌ์ฌ๊ฐ ์๋ฆฌํ ๋ ์ฌ์ฉํ๋ ๋๊ตฌ(์ง์ญ ๋ณ์์ ๋งค๊ฐ๋ณ์)๋ค์ด ์ฌ๊ธฐ ๋์ธ๋ค
- ์์ ๋๋ ์๋ฆฌํ ๋ ํ์ํ ๋๋ง๋ค ๋๊ตฌ๋ฅผ ๊บผ๋ด๊ณ , ์๋ฆฌ๊ฐ ๋๋๋ฉด ๋ค์ ์ ์๋ฆฌ์ ๋๋ ค๋๋๋ค
- ๋๊ตฌ๋ฅผ ์ธ ๋๋ง๋ค ์์๋๊ณ (ํ ๋น), ๋ค ์ฐ๋ฉด ์น์ฐ๋(ํด์ ) ๋ฐฉ์์ด๋ค
- ํจ์ ํธ์ถ๊ณผ ๊ด๋ จ๋ ์ง์ญ ๋ณ์, ๋งค๊ฐ๋ณ์, ๋ฆฌํด ์ฃผ์ ๋ฑ์ ์ ์ฅํ๋ ์์ญ์ด๋ค.
- LIFO(Last In, First Out) ๊ตฌ์กฐ๋ก ๊ด๋ฆฌ๋๋ฉฐ, ํจ์ ํธ์ถ ์ ํ ๋น๋๊ณ ํจ์ ์ข ๋ฃ ์ ํด์ ๋๋ค.
- ์๋์ผ๋ก ๊ด๋ฆฌ๋๋ฉฐ, ์ปดํ์ผ๋ฌ๊ฐ ํจ์์ ํธ์ถ๊ณผ ๋ณต๊ท์ ๋ฐ๋ผ ์คํ์ ๊ด๋ฆฌํ๋ค
- ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ ๋์ ์ฃผ์์์ ๋ฎ์ ์ฃผ์๋ก ํ ๋น๋๋ค
- java์ ๊ฒฝ์ฐ main ํจ์๊ฐ ๋๋๋ฉด ์คํ ์์ญ(์์ ์์ญ)์์ ์ฌ๋ผ์ง๋ ๊ฒ์ ์๋ก ๋ค ์ ์๋ค.
- ํ (Heap) ์์ญ:
- ์ฃผ๋ฐฉ์ "๋์ฅ๊ณ "๋ผ๊ณ ํ ์ ์๋ค
- ํ์ํ ์ฌ๋ฃ(๋์ ๋ฉ๋ชจ๋ฆฌ)๋ฅผ ์๋ฆฌ ์ค๊ฐ์ ๊บผ๋ด์ ์ธ ์ ์๋ค.
- ๋์ฅ๊ณ ์์ ์ฌ๋ฃ๋ฅผ ๊บผ๋ผ ๋๋ ์ฐ๋ฆฌ๊ฐ ์ง์ ๊บผ๋ด๊ณ , ๋ค ์ฐ๊ณ ๋๋ฉด ๋ค์ ๋์ฅ๊ณ ์ ๋ฃ์ด์ผ ํ๋ค.
- ํ๋ก๊ทธ๋๋จธ๊ฐ ์ง์ ์ฌ๋ฃ๋ฅผ ๊ด๋ฆฌํด์ผ ํด์, ์๋ชป ๊ด๋ฆฌํ๋ฉด ์ฌ๋ฃ๊ฐ ์ํ๊ฑฐ๋(๋ฉ๋ชจ๋ฆฌ ๋์) ๋์ฅ๊ณ ๊ฐ ๊ฝ ์ฐจ์ ๋ฌธ์ ๊ฐ ์๊ธธ ์ ์๋ค.
- ๋์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ ์ํด ์ฌ์ฉ๋๋ ์์ญ์ด๋ค.
- ํ๋ก๊ทธ๋จ ์คํ ์ค ํ์ํ ์์ ์ malloc, calloc, realloc ๋ฑ์ ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ๊ณ , free ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ํด์ ํ๋ค.
- ํ ๋ฉ๋ชจ๋ฆฌ๋ ํ๋ก๊ทธ๋๋จธ๊ฐ ์ง์ ๊ด๋ฆฌํด์ผ ํ๋ฉฐ, ์๋ชป๋ ๊ด๋ฆฌ(์: ๋ฉ๋ชจ๋ฆฌ ๋์, ์ด์ค ํด์ ๋ฑ)๋ ํ๋ก๊ทธ๋จ์ ์์ ์ฑ์ ๋ฌธ์ ๋ฅผ ์ผ์ผํฌ ์ ์๋ค.
- ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ ๋ฎ์ ์ฃผ์์์ ๋์ ์ฃผ์๋ก ํ ๋น๋๋ค.
- C์ธ์ด๋ ์ง์ ๊ฐ๋ฐ์๊ฐ garbage๋ฅผ ์ญ์ ํ๋ฉฐ, java์์๋ garbage collector๋ผ๋ ์ํํธ์จ์ด๋ฅผ ์ฌ์ฉํด ์ญ์ ํ๋ค.
'C Programming Language > C' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
C์ธ์ด Basic ์กฐ๊ฑด๋ฌธ if, switch ๊ฐ๋ (0) | 2024.06.18 |
---|---|
C์ธ์ด ์์๊ณผ ์ฐ์ฐ์์ ์๋ฏธ ํ์ตํ๊ธฐ (2) | 2024.06.13 |
C์ธ์ด ๋ณ์์ ๋ํด ํ์ตํ๊ธฐ (2) (2) | 2024.06.12 |
C์ธ์ด ๋ณ์์ ๋ํด ํ์ตํ๊ธฐ (2) | 2024.06.11 |
C์ธ์ด ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ์ basic (๊ธฐ๋ณธ) (0) | 2024.06.10 |