๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ

๋ฐฐ์—ด๊ณผ ํฌ์ธํ„ฐ์˜ ๊ด€๊ณ„: Relationship Between Arrays and Pointers ๋ฐฐ์—ด๊ณผ ํฌ์ธํ„ฐ๋ฅผ ๋‘˜ ๋‹ค ์–ผ์ถ” ์ดํ•ดํ•˜๊ฒŒ ๋˜๋ฉด, ํ•œ๊ฐ€์ง€ ๊ณตํ†ต์ ์„ ์•Œ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋ฐฐ์—ด์˜ ์ด๋ฆ„์ด ์–ด๋–ค ๊ฒƒ์„ ์˜๋ฏธํ•˜๋Š”์ง€ ๊ธฐ์–ตํ•˜๊ณ  ๊ณ„์‹œ๋‚˜์š”? ๋ฐ”๋กœ '๋ฐฐ์—ด์˜ ์ฒซ๋ฒˆ์งธ ๋ฐ์ดํ„ฐ์˜ ์ฃผ์†Œ๊ฐ’'์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ , ํฌ์ธํ„ฐ ๋ณ€์ˆ˜์˜ ๊ฐ’์€ ์ฃผ์†Œ๊ฐ’์ด์˜€์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๋ณด๋ฉด ์‚ฌ์‹ค์ƒ ๋ฐฐ์—ด์˜ ์ด๋ฆ„๊ณผ ํฌ์ธํ„ฐ๋Š” ๋™์ผํ•œ ๊ฒƒ ๊ฐ™์ง€ ์•Š๋‚˜์š”? ์‹ค์ œ๋กœ ๋งŒ์•ฝ ํฌ์ธํ„ฐ๊ฐ€ ๋ฐฐ์—ด์˜ ์š”์†Œ์™€ ๋™์ผํ•œ ํƒ€์ž…์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๋ฉด, ํฌ์ธํ„ฐ์™€ ๋ฐฐ์—ด์€ ์ƒํ˜ธ๊ตํ™˜์ ์œผ๋กœ, (์‚ฌ์‹ค์ƒ) ๋™์ผํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•œ ์ฝ”๋“œ๋กœ ์ด๋ฅผ ํ™•์ธํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. int scores[]{100, 90, 80}; cout
๋™์  ํ• ๋‹น: Dynamic Memory Allocation ์šฐ๋ฆฌ๋Š” ๊ทธ๋™์•ˆ ์ •์  ํ• ๋‹น์„ ํ†ตํ•ด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ •์  ํ• ๋‹น์„ ํ†ตํ•˜๋ฉด, ์ปดํŒŒ์ผ์„ ํ•  ๋•Œ์— ํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํ• ๋‹น๋˜๊ณ , ์ด๋Š” ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ์‹œ๊นŒ์ง€ ๋ณ€๋™๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด, ํ”„๋กœ๊ทธ๋žจ ๋‚ด๋ถ€์—์„œ ์–ด๋– ํ•œ ์ •์ˆ˜ x๋ฅผ ์„ ์–ธํ•˜์˜€๋‹ค๋ฉด, ๊ทธ ๋ณ€์ˆ˜์˜ ๊ฐ’์€ ๋ณ€ํ•  ์ˆ˜ ์žˆ์œผ๋‚˜ ๋ณ€์ˆ˜์—๊ฒŒ ํ• ๋‹น๋œ ๋ฉ”๋ชจ๋ฆฌ๋Š” ๋๊นŒ์ง€ ๋ณ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ ํ• ๋‹น๋œ ๋ฉ”๋ชจ๋ฆฌ๋Š” sizeof ํ•จ์ˆ˜๋กœ ์•Œ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ์— ๋ฐ˜ํ•ด ๋™์ ํ• ๋‹น์€ ์ปดํŒŒ์ผ์„ ํ•  ๋•Œ๊ฐ€ ์•„๋‹Œ, ๋Ÿฐํƒ€์ž„ ๋„์ค‘์— ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค. ๋™์  ํ• ๋‹น์„ ํ†ตํ•ด Heap ์˜์—ญ์— ๋ฐ์ดํ„ฐ๋ฅผ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๋™์  ํ• ๋‹น์€ ํž™ ์˜์—ญ์—์„œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ ํ• ๋‹น๋œ ๊ฐ’์— ๋Œ€ํ•œ ์ ‘๊ทผ์€ ํฌ์ธํ„ฐ๋ฅผ ํ†ตํ•ด์„œ๋งŒ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. C++ ..
์—ญ์ฐธ์กฐ (Dereferencing) ๋ชจ๋‘ ์•Œ๋‹ค์‹œํ”ผ ํฌ์ธํ„ฐ๋Š” ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ์˜ ์ฃผ์†Ÿ๊ฐ’์„ ์ €์žฅํ•ด๋†“๋Š” ๋ณ€์ˆ˜์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋„ ์ฃผ์†Œ๋ฅผ ํ†ตํ•ด์„œ ์›ํ•˜๋Š” ์œ„์น˜์— ๋ฐฉ๋ฌธํ•ฉ๋‹ˆ๋‹ค. C++์—์„œ๋„ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ๋‹น์—ฐํžˆ ํฌ์ธํ„ฐ์˜ ๊ฐ’์œผ๋กœ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ์˜ ์ฃผ์†Œ๋ฅผ ์•ˆ๋‹ค๋ฉด, ๊ทธ ์ฃผ์†Œ๋ฅผ ํ†ตํ•ด ํ•ด๋‹น ์œ„์น˜์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•  ์ˆ˜๋„ ์žˆ๊ฒ ์ฃ ? ์ด๊ฒƒ์„ ์šฐ๋ฆฌ๋Š” ์—ญ์ฐธ์กฐ (Dereferencing) ๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ ๋ฐฉ๋ฒ•์€ ๋งค์šฐ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ํฌ์ธํ„ฐ๋ฅผ ์„ ์–ธํ•  ๋•Œ, ๋ณ€์ˆ˜์™€ ๋‹ค๋ฅธ ๋ถ€๋ถ„์ด ์–ด๋–ค ๊ฒƒ์ด์˜€๋Š”์ง€ ๊ธฐ์–ต์ด ๋‚˜์‹œ๋‚˜์š”? ๋ณ€์ˆ˜์™€๋Š” ๋‹ค๋ฅด๊ฒŒ ํฌ์ธํ„ฐ์˜ ์ด๋ฆ„ ์•ž์— asterisk(*) ๋งˆํฌ๋ฅผ ๋ถ™์˜€์Šต๋‹ˆ๋‹ค. ํฌ์ธํ„ฐ๊ฐ€ ๊ฐ€๋ฅดํ‚ค๋Š” ๊ฐ’(์ฃผ์†Œ)๋ฅผ ๋”ฐ๋ผ๊ฐ€์„œ ์žˆ๋Š” ์œ„์น˜์— ์ €์žฅ๋œ ๊ฐ’์„ ์กฐํšŒํ•  ๋•Œ๋„ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ๋ณ€์ˆ˜๋ช… ์•ž์— *๋ฅผ ๋ถ™์ด๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์„ ์–ธํ•  ๋•Œ์™€ ๋™์ผํ•œ synta..
C++์—์„œ๋Š” & ๊ธฐํ˜ธ๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ์˜ ์ฃผ์†Œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ’์€ 16์ง„์ˆ˜ ์ˆซ์ž๋กœ ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค. ์˜ˆ์‹œ๋ฅผ ๋ณด์—ฌ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. #include using namespace std; int main() { int num{10}; cout
Chan Lee
'๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (17 Page)