C++

C++μ—μ„œ ν•¨μˆ˜λŠ” 포인터듀도 리턴할 수 μžˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬ν•œ ν•¨μˆ˜λ“€μ€ type *funcion(); 의 ν˜•νƒœλ‘œ μ„ μ–Έλ©λ‹ˆλ‹€. ν•œκ°€μ§€ μ€‘μš”ν•œ 점은 'μ ˆλŒ€λ‘œ ν•¨μˆ˜ λ‚΄μ˜ 둜컬 λ³€μˆ˜λ₯Ό λ¦¬ν„΄ν•˜μ§€ μ•ŠλŠ”λ‹€.' μž…λ‹ˆλ‹€. κ°„λ‹¨ν•œ μ˜ˆμ‹œ μ½”λ“œλ₯Ό μ‚΄νŽ΄λ³΄κ² μŠ΅λ‹ˆλ‹€. int *largest_int(int *int_ptr1, int *int_ptr2){ if (*int_ptr1 > *int_ptr2) return int_ptr1; else return int_ptr2; } λ‘κ°œμ˜ μ •μˆ˜ 포인터λ₯Ό λΉ„κ΅ν•˜μ—¬ 더 큰 κ°’μ˜ μ •μˆ˜μ˜ 포인터λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€. 이 ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜λŠ” 메인 ν•¨μˆ˜μ˜ μ˜ˆμ‹œλŠ” λ‹€μŒκ³Ό 같을 수 μžˆμŠ΅λ‹ˆλ‹€. int main() { int a {30}; int b {40}; int *largest_ptr{nullptr}; largest_p..
C++의 ν¬μΈν„°λŠ” Assignment Expressions (λŒ€μž… ν‘œν˜„μ‹) Arithmetic Expressions (μ‚°μˆ  ν‘œν˜„μ‹) Comparison Expressions (비ꡐ ν‘œν˜„μ‹) μ—μ„œ μ‚¬μš©μ΄ κ°€λŠ₯ν•©λ‹ˆλ‹€. 포인터에 λŒ€ν•œ λ‹€μ–‘ν•œ μ—°μ‚°(μ‚°μˆ )이 κ°€λŠ₯ν•©λ‹ˆλ‹€. λ‹€μŒμ€ 포인터에 적용 κ°€λŠ₯ν•œ λͺ‡κ°€μ§€ μ—°μ‚°λ“€μž…λ‹ˆλ‹€. (++) ν¬μΈν„°μ˜ 값을 μ¦κ°€μ‹œμΌœ λ°°μ—΄μ˜ λ‹€μŒ μš”μ†Œλ₯Ό κ°€λ₯΄ν‚€λ„둝 ν•©λ‹ˆλ‹€. int_ptr++; (--) ν¬μΈν„°μ˜ 값을 κ°μ†Œμ‹œμΌœ λ°°μ—΄μ˜ 이전 μš”μ†Œλ₯Ό κ°€λ₯΄ν‚€λ„둝 ν•©λ‹ˆλ‹€. int_ptr--; (+) ν¬μΈν„°μ˜ 값을 n * sizeof(type) 만큼 μ¦κ°€μ‹œν‚΅λ‹ˆλ‹€. int_ptr += n; or int_ptr = int_ptr + n; (-) ν¬μΈν„°μ˜ 값을 n * sizeof(type) 만큼 κ°μ†Œμ‹œν‚΅λ‹ˆλ‹€. i..
ν¬μΈν„°μ˜ 선언은 λ‹€μŒκ³Ό 같은 ꡬ쑰둜 μ§„ν–‰λ©λ‹ˆλ‹€. 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
'C++' νƒœκ·Έμ˜ κΈ€ λͺ©λ‘ (2 Page)