확장메뉴
주요메뉴


소득공제
C 함정과 실수

C 함정과 실수

: 버그 없는 프로그램 만들기

앤드류 쾨니히 저 / 윤지은 역 | 피어슨에듀케이션코리아(PTG) | 2004년 12월 10일   저자/출판사 더보기/감추기
리뷰 총점6.0 리뷰 1건
정가
15,000
판매가
13,500 (10% 할인)
구매 시 참고사항
eBook이 출간되면 알려드립니다. eBook 출간 알림 신청
분철서비스 시작 시 알려드립니다. 분철서비스 알림신청

품목정보

품목정보
발행일 2004년 12월 10일
쪽수, 무게, 크기 216쪽 | 504g | 크기확인중
ISBN13 9788945072009
ISBN10 8945072004

책소개 책소개 보이기/감추기

목차 목차 보이기/감추기

저자 소개 관련자료 보이기/감추기

저자 : 앤드류 쾨니히(Andrew Koenig)
지난 35년간 프로그래머로 활동해 왔으며, 현재 AT&T 벨연구소의 소프트웨어 테크놀로지 회원이다. 지난 2003년에 AT&T에서 은퇴하였으며 최근까지 ISO/ANSI 표준 위원회의 C++ 관련 프로젝트 편집자로 활동하였다. 또한 C와 C++에 관한 뛰어난 저서를 다수 집필하였다.

관련자료 관련자료 보이기/감추기

역자의 글
지금 이 순간에도 무수한 프로그래밍 언어가 새롭게 만들어지고 있으며, 한때 많은 이들의 관심 속에 승승장구하던 언어 중 일부는 이제 그 흔적조차 찾기 어렵게 되었다. 이런 냉혹한 현실 속에서도 지금까지 널리 사용되고 있는 언어 중 하나가 바로 C이다.

C 언어가 이렇게 많은 사람들로부터 오랫동안 사랑받아 온 가장 큰 이유는 고수준 언어이면서도 하드웨어까지 다룰 수 있는 저수준 언어의 특징을 가지고 있다는 것, 그리고 C가 제공하는 놀라운 융통성 때문이다. 그러나 C의 강점이자 최대 무기인 이런 특징들 때문에 수많은 C 프로그래머들이 프로그래밍 도중 혼란에 빠지거나 똑같은 실수를 반복하며 버그를 만들어내기도 한다. 『C 함정과 실수』는 바로 이런 함정에 빠지기 쉬운 프로그래머들을 위한 책이다. 많은 C 프로그래머들이 지금까지 저질렀던 실수와 C 언어의 함정을 일목요연하게 정리한 이 책은 C 언어로 프로그램을 작성하는 사람이라면 누구나 한 번쯤 읽어 보아야 할 필독서라 할 수 있다.

『C 함정과 실수』는 여덟 개의 장과 부록으로 구성되어 있다. 처음 세 개 장에서는 어휘론적, 구문론적, 의미론적 오류를 다루며, 그 다음 이어지는 장부터는 링키지로 인한 오류, 라이브러리 함수에서의 유의 사항, 전처리기 오류, 이식성 문제 등을 설명한다. 8장에서는 앞선 일곱 개 장에서 제시한 연습문제에 대한 해답을 제공한다. 마지막으로 부록에서는 printf 계열 함수에 대한 자세한 내용과 더불어 가변 인수를 처리하기 위해 사용해야 하는 varargs 함수 및 stdarg 함수를 설명한다.

『C 함정과 실수』에서 사용한 C의 표준은 ANSI C이다. 현재 C99 표준까지 발표되었으나 기본적으로 ANSI C 표준에서 크게 벗어나지 않는다. 이 책은 특히 오래된 컴파일러 환경에서 작성된 C 레거시 프로그램을 현재의 컴파일러 환경으로 옮기려고 할 때 주의해야 할 점을 상세히 설명하고 있으므로, 이런 작업을 수행하는 사람이라면 반드시 읽어 보아야 한다.

책의 내용이 아무리 좋다 하더라도 예제 코드를 잘 이해하고 그것을 실제로 작성하여 실행해 보지 않는다면 온전한 나의 것이 되지 않을 뿐더러 이를 실전에 사용하기도 힘들 것이다. 그러므로 항상 예제 코드를 직접 타이핑하는 습관을 들여 산지식으로 만들기 바란다. 그렇게만 된다면, C 언어는 더 이상 정복하기 어려운 혹은 다루기 어려운 언어가 아닌 고수준과 저수준을 넘나들며 프로그래밍할 수 있는 훌륭한 도구이자 프로그래밍의 자유를 만끽할 수 있는 그런 언어가 될 것임에 틀림없다.

마지막으로, 지금의 역자를 있게 해준 부모님께 감사드린다. 못난 자식 뒷바라지에 마음보다 몸이 먼저 늙으신 부모님께 작으나마 이 책을 바친다. 또한, 숱한 원고 재촉에도 끄떡없이 버틴 역자를 너그러이 용서해 준 피어슨에듀케이션코리아 편집부 여러분께 감사드리며, 무엇보다 이 책을 통해 C 언어를 더욱더 빛내 줄 독자 여러분께 감사드린다.
저자의 글
편하고 능숙하게 사용하기까지 상당한 경험이 있어야 하는 도구를 배우는 일이란 결코 쉽지 않다. 처녀비행을 나선 예비비행사는 비행기를 제대로 제어하지 못해 롤러코스터로 만들게 된다. 이런 과정은 비행의 섬세함과 부드러움을 이해할 때까지 계속된다. 좀더 쉽긴 하지만 자전거의 경우도 배우는 과정은 별반 다르지 않다.

프로그래밍 언어를 배우는 것도 마찬가지다. 어떤 프로그래밍 언어든지, 그 언어에 익숙하지 못한 경우에는 문제가 발생할 여지가 크다. 발생하는 문제는 프로그래밍 언어마다 다르지만, 놀랍게도 프로그래머들은 유사한 실수를 반복하여 비슷한 문제를 만들어 내곤 한다. 이 책은 이런 문제들을 모아 보고자 하는 의도에서 기획되었다.

이러한 시도가 처음 이루어졌던 시기는 1977년이었다. 워싱턴 DC의 SHARE (IBM 메인프레임 사용자 모임) 미팅에서 이를 『PL/I 함정과 실수(PL/I Traps and Pitfalls)』라고 이름 붙였다. 얼마 후에, 필자는 PL/I 사용자가 많은 콜롬비아대학교에서 C 사용자가 많은 AT&T 벨연구소로 자리를 옮기게 되었는데, 여기서 근무하는 10년 동안, 필자를 포함한 C 프로그래머들이 자신이 해야 할 일이 무엇인지 정확히 파악하지 못했을 때 어떠한 곤경에 빠지는지를 수없이 보았다.

1985년에 C의 문제점을 수집하기 시작했으며, 그 해 말쯤 그것을 AT&T 내부 논문으로 작성하였다. 이 논문에 대한 반응은 너무나도 당혹스러웠다. 벨연구소 도서관에서 이 문서를 2,000명이 넘는 사람들이 복사했던 것이다.

이 책은 이런 것이다!
『C 함정과 실수(C Traps and Pitfalls)』는 다른 프로그래머(전문가 포함)들이 어떻게 곤경에 빠지게 되는지 보여줌으로써 방어적 프로그래밍을 하도록 만드는 데 그 목적이 있다. 이런 실수는 일단 눈으로 보면서 이해하고 나면 쉽게 피할 수 있으므로 여기서는 일반화보다는 특정 예제를 중심으로 설명한다. 정말로 C 프로그램을 제대로 작성하고 싶다면 이 책을 항상 옆에 두고 보아야 한다. 이 책의 초안을 미리 검토했던 전문 프로그래머들은 이구동성으로 “여기 나온 버그가 바로 내가 저번 주 내내 고생했던 바로 그것이다!”라고 감탄했다. 만일 여러분이 C 언어 강사라면 학생에게 추천할 만한 참고 도서 중 첫 번째가 바로 이 책일 것이다.

이 책은 이런 것이 아니다!
이 책은 C에 대한 비판을 하기 위해 씌어진 것이 아니다. 어떤 언어를 사용하든지 간에 프로그래머는 함정에 빠지고 문제에 부딪칠 수 있다. 이 책은 필자의 지난 10년간의 C 경험을 간략한 형태로 만들어서 많은 프로그래머들이 저질렀던 엉뚱한 실수를 피할 수 있도록 하기 위해 만들어진 것이다.
또한 이 책은 초보자용 서적이 아니다. 국도 변에 “운전 조심”이라는 표지판을 설치한다고 해서 모든 교통사고를 예방할 수 있는 것이 아니듯, 사용법을 안다고 해서 에러를 피할 수 있는 것은 아니다! 사람들은 자신의 경험 혹은 타인의 경험을 통해 좀더 효과적으로 학습을 할 수 있다. 특정 실수가 어떻게 일어나는지 이해하는 것만으로도 미래에 발생할 수 있는 유사한 문제를 피할 수 있는 것이다.
이 책에서는 직접 C 프로그램 작성법을 가르치지 않는다(이를 원한다면 케니헌과 리치가 집필한 『The C Programming Language, 2판』을 참조한다). 또한 레퍼런스 매뉴얼도 아니다(레퍼런스 매뉴얼을 원하다면 하비슨의 『C: A Reference Manual, 5판』을 참조한다). 그렇다고 알고리즘이나 자료구조를 논하는 것도 아니다(밴 위크의 『Data Structures and C Programs』를 참조한다). 이 책은 간략하게 C의 이식성 문제를 논하고(호톤의 『How to Wirte Portable Programs in C』를 참조한다) 운영체제 인터페이스를 설명한다(케니헌과 파이크의 『The UNIX Programming Environment』를 참조한다). 이 책에서 언급한 내용은 간략하긴 하지만 실제로 사용하는 코드이다(좀더 많은 코드를 보고 싶다면 푸어의 『The C Puzzle Book』을 참조한다). 백과사전도 아닌 이 책에서 이렇게 많은 서적을 언급한 이유는 이러한 책들이 모두 C 언어를 공부하는 데 꼭 필요하기 때문이다.

ANSI C에 대해서
이 책을 집필할 때까지는 ANSI C 표준이 완전히 발표되지 않았다. 따라서 ANSI 위원회에서 이를 공식적으로 발표할 때까지 ‘ANSI C’라고 언급하는 것은 기술적으로 말하면 잘못된 것이다. 하지만 이제 ANSI 표준은 더 이상 바뀔 것이 없을 정도로 충분히 완성된 상태이다. ANSI 위원회에서 언급한 여러 중요한 기능 향상 중 많은 부분을 이미 구현하고 있는 C 컴파일러도 많다. 만일 자신의 C 컴파일러가 ANSI 함수 구문을 지원하지 않는다고 하더라고 걱정할 필요는 없다. 어떤 버전의 C를 사용하든지 간에 예제 코드를 이해하고 문제를 파악하는 데는 별 문제가 없다.

출판사 리뷰 출판사 리뷰 보이기/감추기

회원리뷰 (1건) 회원리뷰 이동

한줄평 (0건) 한줄평 이동

  등록된 한줄평이 없습니다!

첫번째 한줄평을 남겨주세요.

배송/반품/교환 안내

배송 안내
반품/교환 안내에 대한 내용입니다.
배송 구분 예스24 배송
  •  배송비 : 2,500원
포장 안내

안전하고 정확한 포장을 위해 CCTV를 설치하여 운영하고 있습니다.

고객님께 배송되는 모든 상품을 CCTV로 녹화하고 있으며, 철저한 모니터링을 통해 작업 과정에 문제가 없도록 최선을 다 하겠습니다.

목적 : 안전한 포장 관리
촬영범위 : 박스 포장 작업

  • 포장안내1
  • 포장안내2
  • 포장안내3
  • 포장안내4
반품/교환 안내

상품 설명에 반품/교환과 관련한 안내가 있는경우 아래 내용보다 우선합니다. (업체 사정에 따라 달라질 수 있습니다)

반품/교환 안내에 대한 내용입니다.
반품/교환 방법
  •  고객만족센터(1544-3800), 중고샵(1566-4295)
  •  판매자 배송 상품은 판매자와 반품/교환이 협의된 상품에 한해 가능합니다.
반품/교환 가능기간
  •  출고 완료 후 10일 이내의 주문 상품
  •  디지털 콘텐츠인 eBook의 경우 구매 후 7일 이내의 상품
  •  중고상품의 경우 출고 완료일로부터 6일 이내의 상품 (구매확정 전 상태)
반품/교환 비용
  •  고객의 단순변심 및 착오구매일 경우 상품 반송비용은 고객 부담임
  •  직수입양서/직수입일서중 일부는 변심 또는 착오로 취소시 해외주문취소수수료 20%를 부과할수 있음

    단, 아래의 주문/취소 조건인 경우, 취소 수수료 면제

    •  오늘 00시 ~ 06시 30분 주문을 오늘 오전 06시 30분 이전에 취소
    •  오늘 06시 30분 이후 주문을 익일 오전 06시 30분 이전에 취소
  •  직수입 음반/영상물/기프트 중 일부는 변심 또는 착오로 취소 시 해외주문취소수수료 30%를 부과할 수 있음

    단, 당일 00시~13시 사이의 주문은 취소 수수료 면제

  •  박스 포장은 택배 배송이 가능한 규격과 무게를 준수하며, 고객의 단순변심 및 착오구매일 경우 상품의 반송비용은 박스 당 부과됩니다.
반품/교환 불가사유
  •  소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
  •  소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우 : 예) 화장품, 식품, 가전제품, 전자책 단말기 등
  •  복제가 가능한 상품 등의 포장을 훼손한 경우 : 예) CD/LP, DVD/Blu-ray, 소프트웨어, 만화책, 잡지, 영상 화보집
  •  소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
  •  디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  •  eBook 대여 상품은 대여 기간이 종료 되거나, 2회 이상 대여 했을 경우 취소 불가
  •  중고상품이 구매확정(자동 구매확정은 출고완료일로부터 7일)된 경우
  •  LP상품의 재생 불량 원인이 기기의 사양 및 문제인 경우 (All-in-One 일체형 일부 보급형 오디오 모델 사용 등)
  •  시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  •  전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
소비자 피해보상
  •  상품의 불량에 의한 반품, 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 준하여 처리됨
환불 지연에
따른 배상
  •  대금 환불 및 환불 지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리
  • 품절 상태입니다.
뒤로 앞으로 맨위로 공유하기