C++

일반적인 λ³€μˆ˜μ— λŒ€ν•œ 포인터λ₯Ό κ³΅λΆ€ν•˜λ‹€λ³΄λ©΄, μƒμˆ˜ 값에 λŒ€ν•œ 포인터가 κΆκΈˆν•΄μ§ˆ 수 μžˆμŠ΅λ‹ˆλ‹€. const ν‚€μ›Œλ“œλ‘œ μ„ μ–Έν•˜λŠ” μƒμˆ˜λŠ” μ•Œλ‹€μ‹œν”Ό κ·Έ 값이 μ„ μ–Έκ³Ό μ΄ˆκΈ°ν™” 이후에 λ³€κ²½ν•  수 μ—†μŠ΅λ‹ˆλ‹€. 그리고 ν¬μΈν„°λŠ” μƒμˆ˜μ— λŒ€ν•œ κΈ°λŠ₯도 μ—­μ‹œ μˆ˜ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μƒμˆ˜μ™€ κ΄€λ ¨λœ ν¬μΈν„°λŠ” 총 세가지 μ’…λ₯˜λ‘œ λΆ„λ₯˜ν•  수 μžˆκ² μŠ΅λ‹ˆλ‹€. μƒμˆ˜μ— λŒ€ν•œ 포인터 (pointers to constants) μƒμˆ˜ 포인터 (constant pointers) μƒμˆ˜μ— λŒ€ν•œ μƒμˆ˜ 포인터 (constant pointers to constnats) ν•˜λ‚˜μ”© μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€. 1. μƒμˆ˜μ— λŒ€ν•œ 포인터 (pointers to constants) μƒμˆ˜μ— λŒ€ν•œ 포인터가 κ°€λ₯΄ν‚€λŠ” λ°μ΄ν„°λŠ” μƒμˆ˜μ΄κ³ , 변경될 수 μ—†μŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ 포인터 μŠ€μŠ€λ‘œλŠ” λ³€κ²½λ˜κ³  λ‹€λ₯Έ ..
Β·C++/기타
ν”„λ‘œκ·Έλž˜λ°μ„ ν•˜λ‹€ 보면 2개의 λ³€μˆ˜μ— λŒ€ν•΄μ„œ μ„œλ‘œμ˜ 값을 κ΅ν™˜ν•΄μ•Ό ν•˜λŠ” κ²½μš°κ°€ μžˆμŠ΅λ‹ˆλ‹€. swap ν•¨μˆ˜λ₯Ό μ“°λ©΄ νŽΈν•˜μ§€λ§Œ, 직접 효과λ₯Ό κ΅¬ν˜„ν•΄μ•Ό ν•  λ•Œλ„ (ν˜Ήμ‹œ?) μžˆμ„ 것 μž…λ‹ˆλ‹€. κ°€λ Ή a = 40, b = 30일 λ•Œ a = 30, b = 40으둜 λ§Œλ“œλŠ” κ²ƒμž…λ‹ˆλ‹€. μ €λ§Œ κ·ΈλŸ°μ§€ λͺ¨λ₯΄κ³˜μ§€λ§Œ, 항상 보쑰 λ³€μˆ˜λ₯Ό μ„ μ–Έν•΄μ„œ 이 방법을 ν•΄κ²°ν–ˆμ—ˆμŠ΅λ‹ˆλ‹€. int n 같은 λ³€μˆ˜μ— a λ‚˜ b 쀑 ν•˜λ‚˜λ₯Ό μ €μž₯ν•΄ 놓고, 순차적으둜 λ°”κΎΈλŠ” 것이죠. int a {40}; int b {30}; int n {}; n = a; a = b; b = n; cout
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..
λ°°μ—΄κ³Ό ν¬μΈν„°μ˜ 관계: Relationship Between Arrays and Pointers λ°°μ—΄κ³Ό 포인터λ₯Ό λ‘˜ λ‹€ μ–ΌμΆ” μ΄ν•΄ν•˜κ²Œ 되면, ν•œκ°€μ§€ 곡톡점을 μ•Œκ²Œ λ©λ‹ˆλ‹€. λ°°μ—΄μ˜ 이름이 μ–΄λ–€ 것을 μ˜λ―Έν•˜λŠ”μ§€ κΈ°μ–΅ν•˜κ³  κ³„μ‹œλ‚˜μš”? λ°”λ‘œ 'λ°°μ—΄μ˜ 첫번째 λ°μ΄ν„°μ˜ μ£Όμ†Œκ°’'을 λ‚˜νƒ€λƒ…λ‹ˆλ‹€. 그리고, 포인터 λ³€μˆ˜μ˜ 값은 μ£Όμ†Œκ°’μ΄μ˜€μŠ΅λ‹ˆλ‹€. μ΄λ ‡κ²Œ 보면 사싀상 λ°°μ—΄μ˜ 이름과 ν¬μΈν„°λŠ” λ™μΌν•œ 것 같지 μ•Šλ‚˜μš”? μ‹€μ œλ‘œ λ§Œμ•½ 포인터가 λ°°μ—΄μ˜ μš”μ†Œμ™€ λ™μΌν•œ νƒ€μž…μ„ 가지고 μžˆλ‹€λ©΄, 포인터와 배열은 μƒν˜Έκ΅ν™˜μ μœΌλ‘œ, (사싀상) λ™μΌν•˜κ²Œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. κ°„λ‹¨ν•œ μ½”λ“œλ‘œ 이λ₯Ό 확인해 λ³΄κ² μŠ΅λ‹ˆλ‹€. int scores[]{100, 90, 80}; cout
Chan Lee
'C++' μΉ΄ν…Œκ³ λ¦¬μ˜ κΈ€ λͺ©λ‘ (7 Page)