-
๋ณ์์ ํฌ์ธํฐPROGRAMMING/์๋ฃ๊ตฌ์กฐ 2020. 6. 18. 12:52
(์ด ๋ฌธ์๋ c์ธ์ด๋ฅผ ๊ธฐ์ค์ผ๋ก ์์ฑ๋์์ต๋๋ค.)
๋ณ์: ์ด๋ฆ , ์ฃผ์ , type(ํฌ๊ธฐ, ํด์)
- ์ด๋ฆ์ ์ฌ๋์ ์ํ ๊ฒ, ์ฃผ์๋ CPU/MEMORY ๋ฅผ ์ํ ๊ฒ.
๋ณ์๋ฅผ ๋์ ํ ๋นํ๊ฒ ๋๋ฉด, MEMORY ์ ํด๋น ๋ณ์์ 'ํฌ๊ธฐ'๋งํผ ๊ณต๊ฐ์ด ์๊ธด๋ค.
๊ทธ๋ฆฌ๊ณ ๊ทธ ๋ณ์์ ์ฃผ์๋ก ๊ทธ ๋ณ์๋ฅผ ๋ค๋ฃฐ ์๋ฐ์ ์๋๋ฐ, ๊ทธ ์ฃผ์๋ฅผ ์ ์ฅํ ์ ์๋ ๋ณ์๊ฐ ํฌ์ธํฐ
Pointer : ๋ณ์์ ์ผ์ข . ๋ณ์์ ํน์ง ์ค, type ๊ฐ ์ฃผ์์ธ ๋ณ์.
- ์ด๋ค type ์ ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ์๋์ง๋ ์ถ๊ฐ๋ก ํ์ํด์ผ ํจ
- ํ๊ธฐ: int * p;
- * ์ "p์ ์๋ ๊ฐ์ ๊บผ๋ด์ ์ฃผ์๋ก ์๊ฐํด์ ๊ทธ ์ฃผ์๋ก ๊ฐ๋ค"
์ฆ, p์์ ์ฃผ์๋ฅผ ๊บผ๋ด ๋ชฉ์ ์ง์ ๊ฐ๋ฉด int ๊ฐ ์๋ ๊ฒ์ผ๋ก ํญ์ ์๊ฐ
- p= &a : ๋ณ์ a ์ ์ฃผ์๋ฅผ ๊บผ๋ด p ์ ์ ์ฅ -> *p=30 / a=30 ์ ๊ฐ์ ๊ธฐ๋ฅ ์ํ but a ๊ฐ ์ด์ง ๋๋ฆผ
- ํฌํฌ์ธํธ: int **q : ์ฃผ์๋ฅผ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ. ์ด ์ญ์๋ ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ์์. q=&p
- ex. q == 100 (100๋ฒ์ง) ์ด๋ผ๋ฉด, 100๋ฒ์ง์๋ ์ฃผ์๊ฐ ์๋ค. (*q == 200) 200๋ฒ์ง์ ๊ฐ๋ฉด int
์๋ฅผ ๋ค๋ฉด, ๋ค์๊ณผ ๊ฐ๋ค.
ํฌ์ธํฐ ๋ณ์ p ์ ํฌํฌ์ธํฐ ๋ณ์ q ๊ฐ ์๊ณ , ์ด๋ค์ ์ฃผ์๋ ๊ฐ๊ฐ 200, 500 ์ด๋ค.
p ๋ a ์ ์ฃผ์๋ฅผ ๋ด๊ณ ์๊ณ , q ๋ p ์ ์ฃผ์๋ฅผ ๋ด๊ณ ์๋ค. a ๋ 3 ์ ์ ์ฅํ๊ณ ์๋ int ๋ณ์์ด๋ค.
int a =3;
int *p;
int ** q;
p=&a; q=&p;
((์ฃผ์! q=&&a ์ ํํ๋ก๋ ์ ์ฅ ๋ถ๊ฐ. a ์ ์ฃผ์์ ์ฃผ์๋ฅผ ์๋ฏธํ๋๋ฐ a ์ ์ฃผ์์ ์ฃผ์๊ฐ ์๊ธฐ ๋๋ฌธ.))
MEMORY ์ ์ด๋ ๊ฒ ์ ์ฅ๋์ด ์๋ค๊ณ ๋ณผ ์ ์๋ค.
**q=30; ์ ํ๋ค๋ฉด ์๋์ ๊ณผ์ ์ผ๋ก a ์ ๊ฐ์ด ๋ณ๊ฒฝ๋๋ ๊ฒ์ด๋ค.
q ๋ผ๋ ๋ณ์์ ์ฃผ์(500)๋ฅผ ์ฐธ์กฐํ์ฌ ๊ฐ๋ฉด -> 200 ์ด๋ผ๋ ์ฃผ์๊ฐ ์์ด์ 200์ผ๋ก ๊ฐ -> 100 ์ด๋ผ๋ ์ฃผ์๊ฐ ์์ด 100์ผ๋ก ๊ฐ -> ์ซ์ 3์ 30์ผ๋ก ๋ฐ๊ฟ (ํด๋น 3 ์ด ์ ์ฅ๋์ด ์๋ ๋ณ์๋ฅผ ์ฐธ์กฐํ๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฅ!)
์๋ ์ฝ๋๋ฅผ ๋ณด๊ณ ์ ๋๋ก ์ดํดํ๋์ง ํ์ธํด๋ณด์.
int a, x; int *p, *r; int **q;
x=a+*p; __> (o) int+int
x=a+p; __> (o) ํ์ฉ์ ๋จ. ์ปดํ์ผ๋ฌ์ ๋ฐ๋ผ์
q=p+q; __> (x) ๋ ๋ค ์ฃผ์์ง๋ง ํ์ ์ด ๋ค๋ฆ
p=p+r; __> (x) ๋ํ๊ธฐ ์์ฒด๊ฐ ํ์ฉ์ด ์๋จ. ์๋ฌด ์๋ฏธ๊ฐ ์๋ค.
a=p-r; __> (o) ์ฃผ์-์ฃผ์๋ ํ์ฉ์ด ๋จ. ์ฝ๊ฐ ์๋ฏธ๊ฐ ์๋ค. ์ฃผ์ ์ฌ์ด์ ๊ฑฐ๋ฆฌ! ์ฐ์์ผ๋ก ์๋ ์ฃผ์.
p=p+3; __> (o) ์ฃผ์+-Integer ๊ฐ๋ฅ
p=p+a; __> (o) int a ๊ฐ ๋งํผ ์ด๋
'PROGRAMMING > ์๋ฃ๊ตฌ์กฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Selection Sort , Merge Sort, ๊ทธ๋ฆฌ๊ณ ์ฆ๋ช (0) 2020.06.18 Arrays(๋ฐฐ์ด), Binary Search(์ด์ง ํ์), ์ฆ๋ช , ๊ทธ๋ฆฌ๊ณ log (0) 2020.06.18 ์ํ์ ๊ท๋ฉ๋ฒ์ผ๋ก ์ฌ๊ท ์๊ณ ๋ฆฌ์ฆ ์ฆ๋ช (0) 2020.06.18 ์ํ์ ๊ท๋ฉ๋ฒ (0) 2020.06.18