
x
서문
여러분은 자신의 프로그래밍 기술을 한 단계 업그레이드하기 위해 이 책을 선
택하였으며, 아주 훌륭한 선택이다. 여러분은 이 책에서 제공하는 실전 지식으
로 효과를 얻게 될 것이기 때문이다. C 프로그래밍 경험이 풍부하다면 여러분
은 훌륭한 코드 설계 결정의 세부 내용뿐만 아니라 그것들의 장단점까지도 배
우게 될 것이다. C 프로그래밍에 이제 막 입문한 수준이라면 여러분은 코드 설
계 결정에 대한 지침을 발견하고, 실제로 동작하는 코드 예제를 통해 이러한
결정들이 어떻게 적용되는지 보게 될 것이다. 아울러, 코드 예제들은 향후 대
규모 프로그램을 만드는 데 참고할 수 있다.
이 책을 통해 C 프로그램을 구조화하는 방법, 오류를 처리하는 방법, 유연한
인터페이스를 설계하는 방법과 같은 질문에 대한 답을 얻게 될 것이다. C 프로
그래밍을 공부하면서 여러분은 아마도 다음과 같은 질문들을 떠올린 경험이
있을 것이다.
반드시 오류 정보를 반환해야 하는가?
이를 위해 전역 변수
errno
를 사용해야 하는가?
다수의 파라미터를 갖는 함수를 사용해야만 하는가? 아니면 그 반대인가?
유연한 인터페이스를 구축하는 방법은?
반복자(iterator) 같은 기본 요소를 만드는 방법은?
객체 지향 언어의 경우, 그 유명한 4인방(GoF; ...