pointer

C++์—์„œ๋Š” & ๊ธฐํ˜ธ๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ์˜ ์ฃผ์†Œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ’์€ 16์ง„์ˆ˜ ์ˆซ์ž๋กœ ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค. ์˜ˆ์‹œ๋ฅผ ๋ณด์—ฌ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. #include using namespace std; int main() { int num{10}; cout
ํฌ์ธํ„ฐ์˜ ์„ ์–ธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ์กฐ๋กœ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค. variable_type *pointer_name; asterisk(*)๋งŒ ์—†์–ด์ง€๋ฉด ๋ณ€์ˆ˜์™€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ์‹œ int *int_ptr; double *double_ptr; char *char_ptr; string *string_ptr; ํ•˜์ง€๋งŒ, ์ค‘์š”ํ•œ ๊ฒƒ์€ ์„ ์–ธ๊ณผ ๋™์‹œ์— ์ดˆ๊ธฐํ™”๋ฅผ ํ•ด ์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ดˆ๊ธฐํ™”๋ฅผ ํ•˜์ง€ ์•Š์œผ๋ฉด ํฌ์ธํ„ฐ์— ์“ฐ๋ ˆ๊ธฐ ์ฃผ์†Œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ดˆ๊ธฐํ™”๊นŒ์ง€ ํ•œ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ฉ๋‹ˆ๋‹ค. variable_type *pointer_name {nullptr}; ์˜ˆ์‹œ int *int_ptr {}; double *double_ptr {nullptr}; char *char_ptr {nullptr}; string *string_ptr {nullptr};
Pointer Pointer๋Š” ๋ณ€์ˆ˜์ž…๋‹ˆ๋‹ค. ๋ณ€์ˆ˜์˜ ๊ตฌ์„ฑ ์š”์†Œ๋Š” ๋ฉ”๋ชจ๋ฆฌ์ƒ ์œ„์น˜, ๋ณ€์ˆ˜ ํƒ€์ž…, ๊ทธ๋ฆฌ๊ณ  ๊ฐ’์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค. ํฌ์ธํ„ฐ๋Š” ๋‹ค๋ฅธ ๋ณ€์ˆ˜๋‚˜ ํ•จ์ˆ˜์˜ ์ฃผ์†Œ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ณ€์ˆ˜์ž…๋‹ˆ๋‹ค. ์ด๊ฒŒ ๋ฌด์Šจ ๋œป์ด๋ƒ๋ฉด, ๋ณ€์ˆ˜์˜ '๊ฐ’' ์— ํ•ด๋‹นํ•˜๋Š” ๋ถ€๋ถ„์ด ๋‹ค๋ฅธ ๋Œ€์ƒ์˜ ๋ฉ”๋ชจ๋ฆฌ์ƒ ์ฃผ์†Œ๋ผ๋Š” ๊ฒƒ ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด int x {10}; ์œผ๋กœ ์ •์ˆ˜ ๋ณ€์ˆ˜ x๋ฅผ ์„ ์–ธํ•˜๊ณ  10์„ ํ• ๋‹นํ–ˆ๋‹ค๋ฉด, ๋ณ€์ˆ˜ x๋ฅผ ๊ฐ€๋ฅดํ‚ค๋Š” ๋‹ค๋ฅธ ํฌ์ธํ„ฐ๋ฅผ ์„ ์–ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด, ํฌ์ธํ„ฐ๋Š” ์™œ ์‚ฌ์šฉํ• ๊นŒ์š”? ํฌ์ธํ„ฐ๊ฐ€ ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ๋ณ€์ˆ˜๋ฅผ ๊ฐ€๋ฅดํ‚ค๋Š” ๋ณ€์ˆ˜๋ผ๋ฉด, ๊ทธ๋ƒฅ ์›๋ž˜์˜ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋˜๋Š”๊ฑฐ ์•„๋‹๊นŒ์š”? ํฌ์ธํ„ฐ ์‚ฌ์šฉ์˜ ์ด์œ  ์œ„์˜ ์งˆ๋ฌธ์„ ์ด์–ด์„œ ์ด์œ ๋ฅผ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋งž์Šต๋‹ˆ๋‹ค. ์›๋ž˜์˜ ๋ณ€์ˆ˜๋ฅผ ์ง์ ‘ ์‚ฌ์šฉํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ, ์šฐ๋ฆฌ๋Š” ์ข…์ข… ํ”„๋กœ๊ทธ๋žจ ์†์—์„œ ๋ณต์žกํ•œ ๊ตฌ์กฐ๋กœ ..
Chan Lee
'pointer' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก (2 Page)