programming

ํฌ์ธํ„ฐ์˜ ์„ ์–ธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ์กฐ๋กœ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค. 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๋ฅผ ๊ฐ€๋ฅดํ‚ค๋Š” ๋‹ค๋ฅธ ํฌ์ธํ„ฐ๋ฅผ ์„ ์–ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด, ํฌ์ธํ„ฐ๋Š” ์™œ ์‚ฌ์šฉํ• ๊นŒ์š”? ํฌ์ธํ„ฐ๊ฐ€ ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ๋ณ€์ˆ˜๋ฅผ ๊ฐ€๋ฅดํ‚ค๋Š” ๋ณ€์ˆ˜๋ผ๋ฉด, ๊ทธ๋ƒฅ ์›๋ž˜์˜ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋˜๋Š”๊ฑฐ ์•„๋‹๊นŒ์š”? ํฌ์ธํ„ฐ ์‚ฌ์šฉ์˜ ์ด์œ  ์œ„์˜ ์งˆ๋ฌธ์„ ์ด์–ด์„œ ์ด์œ ๋ฅผ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋งž์Šต๋‹ˆ๋‹ค. ์›๋ž˜์˜ ๋ณ€์ˆ˜๋ฅผ ์ง์ ‘ ์‚ฌ์šฉํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ, ์šฐ๋ฆฌ๋Š” ์ข…์ข… ํ”„๋กœ๊ทธ๋žจ ์†์—์„œ ๋ณต์žกํ•œ ๊ตฌ์กฐ๋กœ ..
'๋ฐ˜๋ณต๋ฌธ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ' ํฌ์ŠคํŠธ์—์„œ ๊ตฌํ˜„ํ–ˆ๋˜ ํ”„๋กœ๊ทธ๋žจ์„ ํ•จ์ˆ˜๋ฅผ ์ ๊ทน์ ์œผ๋กœ ์ด์šฉํ•˜์—ฌ ๋™์ผํ•˜๊ฒŒ ๊ตฌํ˜„ํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด์˜ ํ”„๋กœ๊ทธ๋žจ์€ ํ•จ์ˆ˜์˜ ํ™œ์šฉ์ด ์—†์—ˆ์ง€๋งŒ, ์ด๋ฒˆ ํ”„๋กœ๊ทธ๋žจ์€ ํ•จ์ˆ˜๋กœ ๋ณ€๊ฒฝํ•˜๊ณ  ๊ธฐ๋Šฅ๋„ ๋ช‡ ๊ฐœ ์ถ”๊ฐ€ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ํ•จ์ˆ˜ ์—†์ด ๋ฐ˜๋ณต๋ฌธ๋“ค๋กœ๋งŒ ๊ตฌํ˜„๋œ ๊ธฐ์กด์˜ ํ”„๋กœ๊ทธ๋žจ์€ ๋‹ค์Œ ํฌ์ŠคํŠธ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. [C++] ๋ฐ˜๋ณต๋ฌธ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ ์„ค๋ช… switch๋ฌธ, for๋ฌธ, do-while๋ฌธ์„ ๋ชจ๋‘ ํ™œ์šฉํ•œ ๊ฐ„๋‹จํ•œ ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ์„ ๋ฐ›๊ณ , ๊ทธ ์ž…๋ ฅ์— ํ•ด๋‹นํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ #include using na code-studies.tistory.com ๊ฐ„๋žตํ•˜๊ฒŒ ์„ค๋ช…ํ•˜์ž๋ฉด, ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ๋ฌธ์ž๋ฅผ ํ†ตํ•ด ์˜ต์…˜์„ ์„ ํƒ ๋ฐ›๊ณ  ๊ทธ์— ๋”ฐ๋ฅธ ๋™์ž‘์„ ํ–‰ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค. ๋ชจ๋“ ..
Recursive function, ์žฌ๊ท€ํ•จ์ˆ˜๋Š” '์Šค์Šค๋กœ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ํ•จ์ˆ˜' ์ž…๋‹ˆ๋‹ค. ์Šค์Šค๋กœ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์ง์ ‘ ํ˜ธ์ถœํ•  ์ˆ˜๋„ ์žˆ๊ณ , ๋‹ค๋ฅธ ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ๊ฐ„์ ‘ ํ˜ธ์ถœํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์žฌ๊ท€ํ•จ์ˆ˜๋Š” ์ด์ง„ํƒ์ƒ‰, ํŒฉํ† ๋ฆฌ์–ผ ์—ฐ์‚ฐ, ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด ๋“ฑ ์ˆ˜ํ•™์ด๋‚˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ถ„์•ผ์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ฒซ๋ฒˆ์งธ๋กœ ํŒฉํ† ๋ฆฌ์–ผ(!)์˜ ์˜ˆ์‹œ๋ฅผ ๋“ค์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์šฐ์„  ํŒฉํ† ๋ฆฌ์–ผ์ด๋ž€, '๊ทธ ์ˆ˜๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ๋ชจ๋“  ์–‘์˜ ์ •์ˆ˜์˜ ๊ณฑ' ์ž…๋‹ˆ๋‹ค. 0! = 1 ์ด๊ณ , n! = n * (n - 1)! ์ด๋ผ๊ณ  ์ดํ•ดํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๊ทธ ํ•จ์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. // factorial function unsigned long long factorial(unsigned long long n) { if (n == 0) re..
Chan Lee
'programming' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก