โ 1. ํฌ์ธํฐ์ ๊ฐ๋
(1) ๋ณ์์ ํฌ์ธํฐ์ ์ฐจ์ด

- ์์ ๊ฐ์ด ์ผ๋ฐ ๋ณ์ ์ ์ธ ๋ฐ ์ด๊ธฐํ๋ฅผ ๊ฑฐ์น๋ฉด, ๋ฉ๋ชจ๋ฆฌ์ ๋ณ์ ๊ณต๊ฐ์ ํ ๋น์ ํ ๋ค ๊ทธ ๊ณต๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ๊ฒ ๋๋ค.

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

- ๋ณ์์ ์ผ์ข ์ผ๋ก ์ ์ฅ๋๋ ๊ฐ์ ์ฒ๋ฆฌํ ์๋ฃ๊ฐ ์ ์ฅ๋ ๋ฉ๋ชจ๋ฆฌ์ ์ฃผ์๊ฐ ๋๋ค.
โ 2. ํฌ์ธํฐ ๋ณ์์ ์ ์ธ ๋ฐ ์ฐธ์กฐ
(1) ํฌ์ธํฐ ๋ณ์ - ์ ์ธ๋ฌธ ํ์

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

- ๋ณ์์ ์ฃผ์๋ฅผ ๊ตฌํด์ฃผ๋ ์ฐ์ฐ์์ด๋ฉฐ, ํด๋น ๋ณ์์ ๋ช ์นญ์ผ๋ก ๊ฐ๋ ค์ง ์ฃผ์๊ฐ์ ์ ๋ฌํด์ฃผ๋ ์ญํ ์.
- ์ฃผ์ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๋ฃ๊ฒ ๋๋ฉด, ๊ทธ๊ฑด ํด๋น ์ฃผ์๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ด์ฃผ๋ ํ์๋ก ๋ณผ ์ ์์.
[ ์ฐธ์กฐ ์ฐ์ฐ์ ]

- ์ฝ๊ฒ๋งํด, ํฌ์ธํฐ ๋ณ์์ ์ ์ฅ ๋ ์ฃผ์๊ฐ์ ์ ๊ทผํด์ ๋ฐ์ดํฐ 20์ ๋ฃ๋ ๊ฒ์.
- ์ฆ, ์ต์ข ์ ์ผ๋ก๋ *p ๋ณ์์๋ ์ฃผ์๊ฐ์ด ์ ์ฅ๋์ด์๊ณ ๊ทธ ์ฃผ์๊ฐ์ ์ ๊ทผํด์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ๋ ๊ฒ์.
- ๋ํ, ์์ ์์ ๋ก ๋ณด๋ฉด printf ๋ฅผ ํตํด์ *p ์ฃผ์๋ก ์ฐธ์กฐ๋ฅผ ํ ๋ค ํ๋ฆฐํธ๋ฅผ ํ๊ฒ ๋จ.
(3) ํฌ์ธํฐ - ๋ฌผ๋ฆฌ์ ์ธ ์ฒ๋ฆฌ ๊ณผ์ ์์

(4) ํฌ์ธํฐ - ์ ์ ํ ๋์ ์ฐธ์กฐ์ ์ค์์ฑ
![]() |
![]() |
- int *p: ํฌ์ธํฐ ๋ณ์
- *p: ์ฃผ์ ์ฐ์ฐ์
- &i: ์ฐธ์กฐ ์ฐ์ฐ์
- ์ฃผ์ ์ฐ์ฐ์(&i)์ ์ฐธ์กฐ ์ฐ์ฐ์(*p)๋ก ์ฃผ์๊ฐ์ ํ ๋นํ๋ฉด ์ค๋ฅ๊ฐ ๋จ. ์ด์ ๋, ์ฃผ์ ์ฐ์ฐ์๋ ํน์ ์ฃผ์๊ฐ์ ํฌ์ธํ ํ๊ณ ์๊ธฐ ๋๋ฌธ์ ์๊ธฐ ์์ ์๊ฒ ์ฆ, int *p ํฌ์ธํฐ ๋ณ์์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ด์ค ์ ์๊ธฐ ๋๋ฌธ์.
- ๊ทธ๋์ ํฌ์ธํฐ ๋ณ์์ ์ฃผ์๊ฐ์ ํ ๋นํ๋ ค๋ฉด, *p ์ฐธ์กฐ ์ฐ์ฐ์๊ฐ ์๋ ํฌ์ธํฐ ๋ณ์(p) ์ ์ฃผ์๊ฐ์ ํ ๋นํด์ค์ผํจ.
- ๋ํ, ์ฃผ์๊ฐ์ ์ฐธ์กฐํด์ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ๊ณ ์ถ์ ๋์๋ ์ฐธ์กฐ ์ฐ์ฐ์(*p) ๋ฅผ ์ฌ์ฉ ํด์ผํจ. (p) ๋ฅผ ์ฌ์ฉํ๋ฉด ์ฃผ์๊ฐ๋ง ์ถ์ถ๋จ.
(5) ํฌ์ธํฐ - ์๋ฃํ

- ํฌ์ธํฐ๊ฐ ๊ฐ๋ฆฌํค๋ ๋ฉ๋ชจ๋ฆฌ์ ์๋ฃํ์ ํฌ์ธํฐ์ ํ๊ณผ ์ผ์นํ๊ฒ ํ๋ ๊ฒ์ด ์์น์.
- ์ฆ, ์์ ๊ฐ์ ๋ฐฉ์์ผ๋ก float ํ ๋ณ์๋ฅผ int ํฌ์ธํฐ ๋ณ์์ ํ ๋น์ ๋ถ๊ฐ๋ฅํจ.

- ์๋ฃํ์ ๋๊ฐ์ด ๋ง์ถฐ์ค์ผ ์ ์์ ์ผ๋ก ๋์ํจ.
(6) ํฌ์ธํฐ - voidํ

- ์๋ฃํ์ด ์ ํด์ง์ง ์์ ๋ฒ์ฉ ํฌ์ธํฐ๋ฅผ ์๋ฏธํ๋ค.
- ์๋ฃํ์ ๊ด๊ณ์์ด ์ด๋ค ๋ณ์๋ ๊ฐ๋ฆฌํฌ ์ ์์.
[ voidํ ํฌ์ธํฐ ์ฌ์ฉ์ ์ฃผ์ํ ์ ]

- ์๋ฃํ์ด ์๊ธฐ ๋๋ฌธ์ voidํ ํฌ์ธํฐ๋ฅผ ์ด์ฉํ์ฌ ๋์์ ์ฐธ์กฐํ ์ ์์.

- ์ฐธ์กฐ ๋์์ ์๋ฃํ์ ๋ง๊ฒ ํฌ์ธํฐ ํ๋ณํ์ ๋ช ์์ ์ผ๋ก ์ง์ ํ์ฌ ์ฐธ์กฐํด์ผ ํจ.
- ์ฆ, void ํ์ผ๋ก ํฌ์ธํฐ ๋ณ์๋ฅผ ์ ์ธํด์ ์ด๊ธฐํ๋ฅผ ํ๊ฒ ๋๋ฉด, ๋จ์ ์ฃผ์๊ฐ์ด๋ผ ๋ค๊ณ ์๋๊ฑด ๊ฐ๋ฅํจ.
- ํ์ง๋ง, ์ฐธ์กฐ ์ฐ์ฐ์ ํฌ์ธํฐ๋ฅผ ํ์ฉํด์ ํฌ์ธํ ์ ํ๊ฒ ๋๋ฉด ์๋ฃํ์ ์์์ผ ์ธ ์ ์๊ธฐ ๋๋ฌธ์, ํ๋ณํ์ ํด์ค์ผํ๋ ๊ฒ์.
[ voidํ ํฌ์ธํฐ์ ์ฌ์ฉ ์์ ]

- void *p = NULL ๋ก ์ด๊ธฐํ๊ฐ ๊ฐ๋ฅํจ. ์๋ฌด ์ฃผ์๊ฐ๋ ์ฐธ์กฐํ๊ณ ์์ง ์๋ค๋ ์๋ฏธ์.
โ 3. ํฌ์ธํฐ ์ฐ์ฐ
(1) ํฌ์ธํฐ ์ฐ์ฐ - ๊ฐ๋
- ํฌ์ธํฐ ๊ฐ์ ์ฃผ์์ด๋ฏ๋ก ์ฐ์ฐ์ ํตํด ์ฃผ์ ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํ๋ค.
- ์ฝ๊ฒ๋งํด, ์ฃผ์๊ฐ์ +, -, ++, -- ๋ฑ์ ์ฐ์ฐ์ ์ฌ์ฉํด ์ฃผ์๊ฐ์ ๋ค์ ์ฃผ์๊ฐ์ผ๋ก ๋ณ๊ฒฝํ๊ฑฐ๋ ํ ์ ์๋ ๊ฒ์.
- ํด๋น ํฌ์ธํฐ ์ฐ์ฐ์ 1๋งํผ ์ฆ๊ฐ ๋๋ ๊ฐ์ํ๋ฉด ์ค์ ์ฃผ์๋ ์๋ฃํ์ ํฌ๊ธฐ๋งํผ ์ฆ๊ฐ ๋๋ ๊ฐ์ํ๋ค.
- ์ฝ๊ฒ๋งํด, 1์ด ์ฆ๊ฐํ๋ฉด ๋ค์ ์ฃผ์๊ฐ์ ์ฐธ์กฐํ๊ฒ ๋๋๋ฐ, ์ด๊ฒ์ ์๋ฃํ์ ํฌ๊ธฐ๋ฅผ ํ๋์ ์ฃผ์๋ก ๋ณด๊ธฐ ๋๋ฌธ์, ๋ค์ ์ฃผ์๊ฐ์ ์๋ฃํ์ ํฌ๊ธฐ๋ฅผ ๋์ด์ผ์ง ๋์ด๊ฐ ์ ์๋ ํํ์ด๊ธฐ ๋๋ฌธ์ ์๋ฃํ์ ํฌ๊ธฐ๋งํผ ์ฆ๊ฐ ๋๋ ๊ฐ์ํจ.

- ์ฆ, ํฌ์ธํฐ ์ฐ์ฐ์ ์์๊ฐ์ด ์๋ฃํ ํฌ๊ธฐ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ํํ๊ธฐ ๋๋ฌธ์, ๋ง์ฝ int *p -> *(p+1) ์ฐ์ฐ์ด ์๋ค๋ฉด 4๋ฐ์ดํธ ํฌ๊ธฐ๋งํผ ์ ํํด์ ๋ค์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๊ฐ์ ์ฐธ์กฐํ๊ฒ ๋๋ค. ๋จ, int ๋ค์ double ์ฒ๋ผ ๋ค๋ฅธ ํฌ๊ธฐ์ ์๋ฃํ์ด ์กด์ฌํ๋ค๋ฉด, ํด๋น double ๋ฉ๋ชจ๋ฆฌ ์ผ๋ถ๋ฅผ int ๋ก ์คํดํด์ ์ฝ๋ ์ํฉ์ด ๋ฐ์ ํ ์ ์์.
- ์ฆ, ๋์ด๊ฐ ์๋ฃํ ํฌ๊ธฐ๋งํผ ๋ค์ ์ฃผ์๊ฐ์ ๋ฐ๋ก ์ฝ์ด๋ฒ๋ฆฐ๋ค๊ณ ์๊ฐํ๋ฉด ๋จ.
- ๊ทธ๋์ ๊ฒฐ๋ก ์ ์ผ๋ก๋ ๊ฐ์ ์๋ฃํ(๋๋ ํธํ ๊ฐ๋ฅํ ์๋ฃํ)์ผ ๋๋ง ์๋ฏธ์๊ฒ ์ฝํ๊ธฐ ๋๋ฌธ์ ์ผ๋ฐ์ ์ผ๋ก๋ ๊ฐ์ ์๋ฃํ์ด ์ ์ฅ๋๋ ๋ฐฐ์ด์ฒ๋ผ ์ฐ์๋ ๋ฉ๋ชจ๋ฆฌ์ผ ๋๋ง ํฌ์ธํฐ ์ฐ์ฐ ์ฌ์ฉ์ ๋ํ ์๋ฏธ๊ฐ ์๋ค๊ณ ๋ณผ ์ ์์. ( ์ฆ, ์ฐ์๋์ง ์์ผ๋ฉด ์ด์ํ๊ฒ๋จ )
(2) ํฌ์ธํฐ ์ฐ์ฐ - 1์ฐจ์ ๋ฐฐ์ด

- int a[10] ์ a ๋ ํด๋น ๋ฐฐ์ด์ ์์ ์์น๋ฅผ ๋ํ๋. ์ฆ, int *p = a; ๊ฐ ์ฐธ์กฐํ๋ a ๋ฐฐ์ด์ ์์ ์์น๋ฅผ ์ฐธ์กฐํ๊ฒ ๋จ.
- ์ฆ, int *p = a; p ํฌ์ธํฐ ๋ณ์๊ฐ a ์ ์ฃผ์์ธ ์์ ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฏ๋ก, *(p+2) ์ ๊ฒฐ๊ณผ๋ 3๋ฒ์งธ ์ธ๋ฑ์ค์ธ 2๊ฐ ์ถ๋ ฅ์ด๋จ.
- int *q = &a[3] ์ a์ a[3] ์ฃผ์๊ฐ์ ์ฐธ์กฐ์ํค๊ธฐ ๋๋ฌธ์, ํด๋น ์์์ ๋ค์ด๊ฐ ๋ฐ์ดํฐ๊ฐ ์ถ๋ ฅ์ด ๋จ.
- ๊ฒฐ๊ตญ *(p+2) = 10; ์ p[2] = 10; ๊ณผ ๋์ผํจ. ์ฆ, ์ฐ์๋ ๋ฉ๋ชจ๋ฆฌ ํํ์ด๊ธฐ์ p[2] ์ ๊ฐ์ ๋ฌธ๋ฒ์ด ์๊ธฐ๊ฒ ๋ ๊ฒ์.
(3) ํฌ์ธํฐ ์ฐ์ฐ - ๋ ํฌ์ธํฐ ์ฌ์ด์ ๊ฐ์ฐ

- ์์ ๊ฐ์ด ํฌ์ธํฐ ๋ณ์๊ฐ ๋บ์ ์ ํ๋ฆฐํฐ๋ก longlong ํ์ผ๋ก ํ๊ฒ ๋๋ฉด ๊ฐ๊ฒฉ์ ๊ณ์ฐ ํ ์ ์์. ( ์ค์ ๋ช ์นธ ์ด๋์ธ์ง ์๋ ค์ค )
- ๋จ, ๋ ํฌ์ธํฐ์ ํฉ์ฐ ์ฐ์ฐ ์ฆ, ๋ํ๊ธฐ ์ฐ์ฐ์ ๋ถ๊ฐ๋ฅํ๊ณ ๊ฐ์ฐ๋ง ๊ฐ๋ฅํจ. ๋ฌธ๋ฒ์ ์ผ๋ก ํ์ฉ์ ์ํจ.
(4) ํฌ์ธํฐ ์ฐ์ฐ - ์ฆ/๊ฐ ์ฐ์ฐ

- p++ ์ ์ฐธ์กฐ ํ ๋ค ++ ๋ฅผ ํ์์ ํด์ฃผ๊ธฐ ๋๋ฌธ์ ๊ฒฐ๊ณผ๊ฐ ์์ง์ 10์ธ ๊ฒ์. ์ดํ ์ถ๋ ฅ์ ํ๋ฉด ๋น์ฐํ 20์ด ๋ ๊ฒ์.
- ๊ทธ๋์ ++p ์ ๊ฐ์ด ์ ์ ์ฆ๊ฐ์ ํ์ ๋ 20์ด ์๋ 30์ด ๋์จ ์ด์ ๊ฐ ํ์ ์ฆ๊ฐ์ ํตํด 20์ด ๋์ด์๋ ์ํ์ด๊ธฐ ๋๋ฌธ์.
'๐ ๏ธBackend > โ๏ธC' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [C์ธ์ด] ๋ฐฐ์ด๊ณผ ํฌ์ธํฐ(1) (0) | 2025.10.16 |
|---|---|
| [C์ธ์ด] ํจ์์ ๊ธฐ์ต ํด๋์ค(2) (0) | 2025.10.15 |
| [C์ธ์ด] ํจ์์ ๊ธฐ์ต ํด๋์ค(1) (0) | 2025.10.15 |
| [C์ธ์ด] ์ ํ ์ ์ด๋ฌธ๊ณผ ๋ฐ๋ณต ์ ์ด๋ฌธ (0) | 2025.10.13 |
| [C์ธ์ด] ์ ์ถ๋ ฅ ํจ์์ ์ฐ์ฐ์(2) (0) | 2025.10.03 |

