PROGRAMMING/C & C++(22)
-
10. [C / C++] ์คํธ๋ฆผ๊ณผ ๋ฌธ์์ด
1. ๋ฐ์ดํฐ์ ์ด๋ ๋ฐ์ดํฐ์ ์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ ํ๋ก๊ทธ๋จ์ ํ๋ฆ์ ๋ปํ๋ค. [ ์ ๋ ฅ ] : ํ๋ก๊ทธ๋จ ์์ผ๋ก ๋ฐ์ดํฐ๊ฐ ํ๋ฌ ๋ค์ด์ค๋ ๊ฒ. ๋ํ์ ์ธ ์ ๋ ฅ์ฅ์น๋ ํค๋ณด๋. [ ์ถ๋ ฅ ] : ํ๋ก๊ทธ๋จ ๋ฐ์ผ๋ก ๋ฐ์ดํฐ๊ฐ ํ๋ฌ ๋๊ฐ๋ ๊ฒ. ๋ํ์ ์ธ ์ถ๋ ฅ ์ฅ์น๋ ๋ชจ๋ํฐ. 2. ์คํธ๋ฆผ ํ๋ก๊ทธ๋จ์์์ ๋ชจ๋ํฐ์ ํค๋ณด๋๋ฅผ ๋์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ถ๋ ฅํ๊ธฐ ์ํด์ ์ด๋ค์ ์ฐ๊ฒฐ์์ผ ์ฃผ๋ ๋ค๋ฆฌ ์ญํ ์ ํ๋ ๋งค๊ฐ์ฒด. ๋จ๋ฐฉํฅ์ผ๋ก๋ง ๋ฐ์ดํฐ์ ์ ์ก์ด ์ด๋ฃจ์ด์ง๋ค. ์คํธ๋ฆผ์ ์ด์์ฒด์ ์์ ์ ๊ณตํ๋ ์ํํธ์จ์ด๋ก ๊ตฌํ๋์ด ์๋ ๊ฐ์์ ๋ค๋ฆฌ์ด๋ค. ๋ค์ ๋งํด์, ์ด์์ฒด์ ๋ ์ธ๋ถ์ฅ์น์ ํ๋ก๊ทธ๋จ๊ณผ์ ๋ฐ์ดํฐ ์ก์์ ์ ๋๊ตฌ๊ฐ ๋๋ ์คํธ๋ฆผ์ ์ ๊ณตํ๊ณ ์๋ค. ์ฝ์ ์ ์ถ๋ ฅ์ ์ํ '์ ๋ ฅ ์คํธ๋ฆผ'๊ณผ '์ถ๋ ฅ ์คํธ๋ฆผ'์ ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ฉด ์๋์ผ๋ก ์์ฑ๋๊ณ , ํ๋ก๊ทธ๋จ์ด ์ข ๋ฃ๋๋ฉด ์..
2019.05.22 -
9. [C / C++] ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ์ ๋์ ํ ๋น (2)
1. ๋์ ํ ๋น ํ๋ก๊ทธ๋จ์ด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋น๋ฐ๋ ๋ฐฉ๋ฒ์๋ ์ ์ ๊ณผ ๋์ 2๊ฐ์ง๊ฐ ์์ต๋๋ค. ์ ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ด๋ ํ๋ก๊ทธ๋จ์ด ์์๋๊ธฐ ์ ์ ๋ฏธ๋ฆฌ ์ ํด์ง ํฌ๊ธฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋น๋ฐ๋ ๊ฒ์ ๋๋ค. ์ด ๊ฒฝ์ฐ์๋ ๋ฉ๋ชจ๋ฆฌ์ ํฌ๊ธฐ๋ ํ๋ก๊ทธ๋จ์ด ์์ํ๊ธฐ ์ ์ ๊ฒฐ์ ๋๋ฉฐ ํ๋ก๊ทธ๋จ์ ์คํ ๋์ค์ ํฌ๊ธฐ๊ฐ ๋ณ๊ฒฝ๋ ์ ์์ต๋๋ค. ex) ์ง์ญ๋ณ์, ์ ์ ๋ฐฐ์ด ๋์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ด๋ ํ๋ก๊ทธ๋จ์ด ์คํ ๋์ค์ ๋์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋น๋ฐ๋ ๊ฒ์ ๋งํฉ๋๋ค. ํ์ํ ๋งํผ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋น๋ฐ์์ ์ฌ์ฉํ๊ณ , ์ฌ์ฉ์ด ๋๋๋ฉด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ฐ๋ฉํฉ๋๋ค. ๋์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์ ์ฅ์ ์ ๋ณ์๊ฐ ์์ฑ๋๊ณ ์๋ฉธ๋๋ ์์ ์ ํ๋ก๊ทธ๋๋จธ ๋ง์๋๋ก ์กฐ์ ํ ์ ์๋ค๋ ์ ์ ๋๋ค. ์ฃผ์ํด์ผํ ์ ์ ๋จผ์ ์ผ๋ง๋ ํ ๋น์ ๋ฐ์ ๊ฒ์ธ์ง ๊ฒฐ์ ํ๊ณ , ๋ฐ๋์ ๋์ ๋ฉ๋ชจ๋ฆฌ๋ ๋ช ์์ ์ผ๋ก ๋ฐ๋ฉ์ ํด์ฃผ์ด์ผ ํ๋ค๋ ๊ฒ..
2019.05.21 -
8. [C / C++] ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ์ ๋์ ํ ๋น (1)
1. ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ ์ปดํจํฐ์ ์ด์์ฒด์ ๋ ํ๋ก๊ทธ๋จ ์คํ์ ์ํด์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ์ ๊ณตํฉ๋๋ค. ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ๊ตฌ์กฐ๋ CDOE, DATA, HEAP, STACK 4๊ฐ์ง ์์ญ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค. 2. CODE ์์ญ ์ฝ๋ ์์ญ์ ๋ง ๊ทธ๋๋ก ์คํํ๋ ํ๋ก๊ทธ๋จ์ ์ฝ๋๊ฐ ์ ์ฅ๋๋ ์์ญ์ ๋๋ค. ์์ด๋ก ํ ์คํธ ์์ญ์ด๋ผ๊ณ ๋ ๋ถ๋ฆ ๋๋ค. CPU(์ค์ ์ฒ๋ฆฌ ์ฅ์น)๋ ์ด ์ฝ๋ ์์ญ์ ์ ์ฅ๋ ๋ช ๋ น์ด๋ค์ ์ฒ๋ฆฌํ๊ฒ ๋ฉ๋๋ค. (ํจ์ ์ฝ๋๋ ์ฝ๋์์ญ์ ๋ฐ์ด๋๋ฆฌ ํํ๋ก ์ ์ฅ๋ฉ๋๋ค.) 3. DATA ์์ญ ๋ฐ์ดํฐ ์์ญ์ ํ๋ก๊ทธ๋จ์ ์ ์ญ ๋ณ์์ ์ ์ ๋ณ์(static ๋ณ์)๊ฐ ์ ์ฅ๋๋ ์์ญ์ ๋๋ค. ๋ฉ๋ชจ๋ฆฌ์ ํ ๋น ์์ ์ ํ๋ก๊ทธ๋จ ์์์ ํ ๋น๋๋ฉฐ, ํ๋ก๊ทธ๋จ ์ข ๋ฃ์ ์๋ฉธ๋ฉ๋๋ค. 4. HEAP ์์ญ ํ ์์ญ์ ํ๋ก๊ทธ๋๋จธ๊ฐ ์ง์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ด๋ฆฌํ ์ ์๋ ..
2019.05.21 -
7. [C์ธ์ด] ๊ตฌ์กฐ์ฒด์ ๋ฉ๋ชจ๋ฆฌ ๋จํธํ
1. ๊ตฌ์กฐ์ฒด ๊ตฌ์กฐ์ฒด๋ ํ๋ก๊ทธ๋๋จธ๊ฐ ์ฌ๋ฌ ๊ฐ์ ์๋ฃํ๋ค์ ๋ฌถ์ด์ ์๋ก์ด ์๋ฃํ์ ๋ง๋ค ์ ์๋ ๋ฐฉ๋ฒ์ ๋๋ค. ์ฆ, ์ฌ์ฉ์ ์ ์ ์๋ฃํ์ด์ฃ . ๊ตฌ์กฐ์ฒด๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๊ฐ๋จํฉ๋๋ค. struct ํค์๋ ์ดํ ์ค๊ดํธ ์์ ์์ ์ด ์ฌ์ฉํ๋ ์๋ฃ๋ค์ ๋ฃ์ด์ฃผ๋ฉด ๋ฉ๋๋ค. typedef ํค์๋๋ฅผ ํตํด์๋ ์ด๋ฆ์ ๋ค์ ์ฌ์ ์ ํ ์ ์์ต๋๋ค. ๊ตฌ์กฐ์ฒด์ ์ ์ธ์ ์ด๋ฐ ์์ผ๋ก ์์ฃผ ์์ฝ๊ฒ ํ ์ ์์ต๋๋ค. ์ด๊ธฐํํ๋ ๊ตฌ์กฐ์ฒด๋ฅผ ์ ์ ํ ๋ ํด๋ ๋ฌด๋ฐฉํ๊ณ , ๋ณ์ ์ ์ธ ์ดํ ๋ฐ๋ก ์ด๊ธฐํ๋ฅผ ํด๋ ์๊ด์ด ์์ต๋๋ค. ๋ฉค๋ฒ์ ๋ํ ์ ๊ทผ์ '.' ์ ํตํด์ ํ ์ ์๊ณ , ํฌ์ธํฐ ์ฌ์ฉ ์์๋ '->' ๋ฅผํตํด์ ์ ๊ทผํ ์ ์์ต๋๋ค. ๊ฐ๋จํ๊ฒ ๊ตฌ์กฐ์ฒด์ ๋ํด ์์๋ดค์ผ๋ ์ด์ ์ค์ํ ๋ถ๋ถ์ธ ๊ตฌ์กฐ์ฒด์ ๋ฉ๋ชจ๋ฆฌ ๋จํธํ์ ๋ํด์ ์์๋ณด๊ฒ ์ต๋๋ค. 2. ๋ฉ๋ชจ๋ฆฌ ๋จํธ..
2019.05.16