์ฐจ์ด(2)
-
12. [C / C++] ํฌ์ธํฐ์ ๋ ํผ๋ฐ์ค์ ์ฐจ์ด
1. ํฌ์ธํฐ (pointer) ํฌ์ธํฐ๋ ๋ฉ๋ชจ๋ฆฌ์ ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ์๋ ๋ณ์์ด๋ค. ์ฃผ์ ๊ฐ์ ํตํ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ์ ํ๋ค. (๊ฐ์ ์ฐธ์กฐ) 2. ๋ ํผ๋ฐ์ค (reference) ๋ ํผ๋ฐ์ค = ์ฐธ์กฐ์. ( C++ ๋ฌธ๋ฒ ) ์ฐธ์กฐ์๋ ์์ ์ด ์ฐธ์กฐํ๋ ๋ณ์๋ฅผ ๋์ ํ ์ ์๋ ๋ ํ๋์ ์ด๋ฆ์ด๋ค. ์ฆ, ๋ณ์์ ๋ณ๋ช (๋ณ์นญ)์ ํ๋ ๋ถ์ฌ์ฃผ๋ ๊ฒ์ด๋ค. ๋ณ์ ๋ช ์ ํตํด์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฐธ์กฐํ๋ค. ( ์ง์ ์ฐธ์กฐ ) iNum์ด ๋ณ์์ ์ด๋ฆ์ด๋ฉด, rRef๋ iNum1์ ๋ณ๋ช (๋ณ์นญ)์ด๋ผ๋ ๋ป์ด๋ค. iNum๊ณผ rRef๋ ๋์ผํ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ฐธ์กฐํ๋ค. 3. ํฌ์ธํฐ์ ๋ ํผ๋ฐ์ค์ ์ฐจ์ด 1. NULL ์ด๊ธฐํ ํฌ์ธํฐ๋ NULL ์ด๊ธฐํ๋ฅผ ํ ์ ์์ง๋ง, ๋ ํผ๋ฐ์ค๋ NULL ์ด๊ธฐํ๋ฅผ ํ ์ ์๋ค. ๋ ํผ๋ฐ์ค๋ ๋ฐ๋์ ์ ์ธ๊ณผ ๋์์ ์ด๊ธฐํ๋ฅผ ํด์ผํ๋ค. ์ด๋ฌํ ..
2019.05.25 -
9. [C / C++] ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ์ ๋์ ํ ๋น (2)
1. ๋์ ํ ๋น ํ๋ก๊ทธ๋จ์ด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋น๋ฐ๋ ๋ฐฉ๋ฒ์๋ ์ ์ ๊ณผ ๋์ 2๊ฐ์ง๊ฐ ์์ต๋๋ค. ์ ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ด๋ ํ๋ก๊ทธ๋จ์ด ์์๋๊ธฐ ์ ์ ๋ฏธ๋ฆฌ ์ ํด์ง ํฌ๊ธฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋น๋ฐ๋ ๊ฒ์ ๋๋ค. ์ด ๊ฒฝ์ฐ์๋ ๋ฉ๋ชจ๋ฆฌ์ ํฌ๊ธฐ๋ ํ๋ก๊ทธ๋จ์ด ์์ํ๊ธฐ ์ ์ ๊ฒฐ์ ๋๋ฉฐ ํ๋ก๊ทธ๋จ์ ์คํ ๋์ค์ ํฌ๊ธฐ๊ฐ ๋ณ๊ฒฝ๋ ์ ์์ต๋๋ค. ex) ์ง์ญ๋ณ์, ์ ์ ๋ฐฐ์ด ๋์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ด๋ ํ๋ก๊ทธ๋จ์ด ์คํ ๋์ค์ ๋์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋น๋ฐ๋ ๊ฒ์ ๋งํฉ๋๋ค. ํ์ํ ๋งํผ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋น๋ฐ์์ ์ฌ์ฉํ๊ณ , ์ฌ์ฉ์ด ๋๋๋ฉด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ฐ๋ฉํฉ๋๋ค. ๋์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์ ์ฅ์ ์ ๋ณ์๊ฐ ์์ฑ๋๊ณ ์๋ฉธ๋๋ ์์ ์ ํ๋ก๊ทธ๋๋จธ ๋ง์๋๋ก ์กฐ์ ํ ์ ์๋ค๋ ์ ์ ๋๋ค. ์ฃผ์ํด์ผํ ์ ์ ๋จผ์ ์ผ๋ง๋ ํ ๋น์ ๋ฐ์ ๊ฒ์ธ์ง ๊ฒฐ์ ํ๊ณ , ๋ฐ๋์ ๋์ ๋ฉ๋ชจ๋ฆฌ๋ ๋ช ์์ ์ผ๋ก ๋ฐ๋ฉ์ ํด์ฃผ์ด์ผ ํ๋ค๋ ๊ฒ..
2019.05.21