C: Generic Coding

λ ‰ν† ν”Όμ•„ μ •ν˜œκ²½ κ°•μ‚¬λ‹˜μ˜ Secure & Generic C κ°•μ˜λ₯Ό λ“£κ³ , μ •λ¦¬ν•œ λ‚΄μš©μž…λ‹ˆλ‹€. ν•΄λ‹Ή λ‚΄μš©μ˜ μ €μž‘κΆŒμ€ μ •ν˜œκ²½ κ°•μ‚¬λ‹˜μ—κ²Œ μžˆμŠ΅λ‹ˆλ‹€. C의 Generic 데이터 νƒ€μž…μ— 상관없이 ν•˜λ‚˜μ˜ ν•¨μˆ˜λ‘œ λ™μΌν•œ λ™μž‘μ„ μˆ˜ν–‰ν•˜λ„λ‘ ν•˜λŠ” 방식이닀. 예λ₯Ό λ“€μ–΄ 정렬을 ν•˜κ³ μž ν•  λ•Œ, 데이터 νƒ€μž… (int, double ...)에 따라 λ³„λ„λ‘œ ν•¨μˆ˜λ₯Ό κ΅¬μ„±ν•œλ‹€λ©΄ μœ μ§€λ³΄μˆ˜ μΈ‘λ©΄μ—μ„œ μƒλ‹Ήνžˆ λΉ„νš¨μœ¨μ μΌ 것이닀. λ”°λΌμ„œ c++의 STLκ³Ό μœ μ‚¬ν•œ κΈ°λŠ₯을 Cλ‘œλ„ λ§Œλ“€ 수 μžˆλ‹€. μ–΄λ–»κ²Œ ν•˜λ©΄ genericν•˜κ²Œ μ½”λ“œλ₯Ό κ΅¬ν˜„ν•  수 μžˆμ„κΉŒ? μ΄λŠ” μ•žμ„œ 닀룬 λ‹€μ–‘ν•œ ν¬μΈν„°μ—μ„œ `ν•¨μˆ˜ 포인터`, `void 포인터`와 같은 μ‘μš© 포인터λ₯Ό ν™œμš©ν•˜λ©΄ 데이터 νƒ€μž…μ— 상관없이 κΈ°λŠ₯을 μˆ˜ν–‰ν•˜λŠ” ν•¨μˆ˜λ“€μ„ κ΅¬ν˜„ν•  수 μžˆλ‹€. Generic for-eac..

C: μ„ μ–Έκ³Ό μ΄ˆκΈ°ν™”

λ ‰ν† ν”Όμ•„ μ •ν˜œκ²½ κ°•μ‚¬λ‹˜μ˜ Secure & Generic C κ°•μ˜λ₯Ό λ“£κ³ , μ •λ¦¬ν•œ λ‚΄μš©μž…λ‹ˆλ‹€. ν•΄λ‹Ή λ‚΄μš©μ˜ μ €μž‘κΆŒμ€ μ •ν˜œκ²½ κ°•μ‚¬λ‹˜μ—κ²Œ μžˆμŠ΅λ‹ˆλ‹€. Constant Cμ–Έμ–΄μ—μ„œ μƒμˆ˜λŠ” `macro`, `const`, `enum`으둜 λ‚˜νƒ€λ‚Ό 수 μžˆλ‹€. 이 μ—­μ‹œ 적절히 μ‚¬μš©ν•˜μ§€ μ•ŠμœΌλ©΄ νŽΈμ˜μ„±μ„ μ–»μ§€λ§Œ μ˜€λ²„ν—€λ“œλ₯Ό λ°œμƒμ‹œν‚€κ±°λ‚˜, μ›μΉ˜ μ•ŠλŠ” κ²°κ³Όλ₯Ό λ§Œλ“€μ–΄ λ‚Ό 수 μžˆλ‹€. λ§Œμ•½, `const int size = 3`을 μž¬κ·€ ν•¨μˆ˜ 내에 μ„ μ–Έν•˜λ©΄ μ–΄λ–¨κΉŒ? ν•¨μˆ˜κ°€ 호좜 될 λ•Œλ§ˆλ‹€ constκ°€ μ„ μ–Έλ˜κ³  ν•΄μ œ λ˜λ―€λ‘œ μ˜€λΈŒν—€λ“œκ°€ 되게 λœλ‹€. λ˜ν•œ `switch`μ—μ„œλŠ” `const`λ₯Ό μ‚¬μš©ν•  수 μ—†λ‹€κ³  λ°°μ—΄μ›μ†Œμ˜ 개수(index)λ‘œλ„ μ‚¬μš©ν•  수 μ—†λ‹€. 이λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄μ„œλŠ” `enum`을 톡해 μƒμˆ˜λ₯Ό μ„ μ–Έν•˜μ—¬μ•Ό ν•œλ‹€. λͺ…μ‹œμ  관계 μ„ μ–Έ..

κΈ€ 보관함
μ΅œκ·Όμ— 올라온 κΈ€
μ΅œκ·Όμ— 달린 λŒ“κΈ€