
책소개
시간이 지나도 변하지 않고 컴퓨팅 세계의 기반을 강화하는 데 도움이 되는 전문적이고 안전하며 이식 가능한 C 코드를 작성하는 방법을 저자의 경험을 바탕으로 설명한다. C와 C 표준 라이브러리를 사용하는 모범 사례와 사용 중에 발생할 수 있는 일반적인 오류 등을 설명한다. C 프로그램을 디버깅하고 테스트하고 분석하는 방법도 소개한다.
저자소개
출판사소개
목차
1장. C 시작하기
__첫 번째 C 프로그램 개발하기
____프로그램 컴파일 및 실행
____전처리기 지시문
____main 함수
____함수 반환 값 확인
____출력 형식
__편집기 및 통합 개발 환경
__컴파일러
____GNU 컴파일러 모음
____Clang
____마이크로소프트 Visual Studio
__이식성
____구현 정의 동작
____미지정 동작
____미정의 동작
____로케일 별 동작 및 공통 확장
__요약
2장. 개체와 함수, 형식
__개체와 함수, 형식, 그리고 포인터
__변수 선언
____값 바꾸기 (첫 번째 시도)
____값 바꾸기 (두 번째 시도)
__범위
__스토리지 기간
__맞춤
__개체 형식
____부울 형식
____문자 형식
____숫자 형식
____void 형식
__함수 형식
__파생된 형식
____포인터 형식
____배열
____구조체
____공용체
__태그
__형식 한정자
____const
____volatile
____restrict
__연습 문제
__요약
3장. 산술 형식
__정수
____패딩과 정밀도
____
____정수 선언하기
____부호가 없는 정수
____부호가 있는 정수
____정수 상수
__부동 소수점
____부동 소수점 형식
____부동 소수점 산술
____부동 소수점 값
____부동 소수점 상수
__산술 변환
____정수 변환 순위
____정수 확장
____일반 산술 변환
____암시적 변환의 예
____안전한 변환
__요약
4장. 식과 연산자
__단순 할당
__평가
__함수 호출
__증가 및 감소 연산자
__연산자 우선순위 및 결합성
__평가 순서
____비순차적 평가와 규정되지 않은 순차적 평가
____시퀀스 포인트
__sizeof 연산자
__산술 연산자
____단항 연산자 +와 -
____논리 부정 연산자
____곱하기 연산자
____더하기 연산자
__비트 연산자
____보수 연산자
____시프트 연산자
____비트 AND 연산자
____비트 배타적 OR 연산자
____비트 포괄적 OR 연산자
__논리 연산자
__캐스트 연산자
__조건부 연산자
___Alignof 연산자
__관계형 연산자
__복합 할당 연산자
__쉼표 연산자
__포인터 산술
__요약
5장. 흐름 제어
__식 문
__복합 문
__선택 문
____if 문
____switch 문
__반복문
____while 문
____do...while
____for 문
__점프 문
____goto 문
____continue 문
____break 문
____return 문
__연습 문제
__요약
6장. 동적으로 할당된 메모리
__스토리지 기간
____힙과 메모리 관리자
____동적으로 할당된 메모리를 사용하는 경우
__메모리 관리 함수
____malloc 함수
____aligned_alloc 함수
____calloc 함수
____realloc 함수
____reallocarray 함수
____free 함수
__메모리 상태
__유연한 배열 멤버
__동적으로 할당된 다른 스토리지
____alloca 함수
____가변 길이 배열
__할당된 스토리지 문제 디버깅하기
____Dmalloc
____안전이 중요한 시스템
__연습 문제
__요약
7장. 문자와 문자열
__문자
____ASCII
____유니코드
____소스 및 실행 문자 집합
____데이터 형식
____문자 상수
____이스케이프 문자
____Linux
____Windows
____문자 변환
__문자열
____문자열 리터럴
__문자열 처리 함수
____
____부속서 K 경계 검사 인터페이스
____POSIX
____Microsoft
__요약
8장. 입출력
__표준 입출력 스트림
____스트림 버퍼링
____미리 정의된 스트림
____스트림 방향
____텍스트 및 이진 스트림
__파일 열기 및 만들기
____fopen 함수
____POSIX open 함수
__파일 닫기
____fclose 함수
____POSIX close 함수
__문자와 줄을 읽고 쓰기
__스트림 플러싱
__파일에서 위치 설정하기
__파일 삭제하기 및 이름 바꾸기
__임시 파일 사용하기
__형식이 있는 텍스트 스트림 읽기
__이진 스트림에서 읽기 및 쓰기
__요약
9장. 전처리기
__컴파일 과정
__파일 포함
____따옴표 및 홑화살괄호 포함 문자열
__조건부 포함
____오류 만들기
____헤더 보호기 사용하기
__매크로 정의
____매크로 대체
____형식 제네릭 매크로
____미리 정의된 매크로
__요약
10장. 프로그램 구조
__구성 요소화의 원칙
____결합도와 응집도
____코드 재사용
____데이터 추상화
____불투명 형식
__실행 파일
__링크
__간단한 프로그램 구조화하기
__코드 빌드하기
__요약
11장. 디버깅과 테스트, 분석
__어설션
____정적 어설션
____런타임 어설션
__컴파일러 설정 및 플래그
____GCC 및 Clang
____Visual C++
__디버깅
__단위 테스트
__정적 분석
__동적 분석
____AddressSanitizer
__연습 문제
__요약
배송
- 배송비, 무료배송비는 업체 사정에 따라 달라질 수 있습니다.
- 배송은 결제 확인 후 다음날부터 2~3일 이내에 배송됩니다. (단 도서 산간지역은 1~2일정도 더 소요됩니다.)
- 공휴일은 배송기간에 포함되지 않습니다.
- 주문하신 상품이 여러개인 경우 동일한 업체의 상품만 묶음 배송 가능합니다. (업체 사정에 따라 달라질 수 있습니다.)
- 배송정보는 상단 주문조회나 마이페이지 주문목록에서 가능합니다.
상품 품절
- 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드립니다.
주문취소/변경
- 주문 상품에 대한 변경사항(품절,가격변동)이 발생하면 전화나 메일을 통해 변경내용을 알려드립니다.
- 주문 상품의 변경/취소/환불은 배송 시작전 마이페이지에서 직접 신청이 가능합니다.
- 주문 상품이 발송된 시점에서는 변경/취소/환불이 모두 불가능합니다.
반품/교환
- 기간 : 배송받으신 후 7일 이내에 가능합니다.
- 방법 : 홈페이지 마이페이지 > 반품/ 교환 신청 및 조회에서 가능합니다.
- 배송비 부담 : 상품에 이상이 있을시에는 무료, 고객의 단순변심 및 착오구매일 경우 상품 반송비용은 고객 부담입니다.
- 포장 개봉 후 재판매가 불가능한 상품은 반품/교환이 불가능합니다.
- 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우, 반품/교환이 불가능합니다.
반품/교환 불가 사유
- 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우 (단지 확인을 위한 포장 훼손은 제외)
- 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
- 복제가 가능한 상품 등의 포장을 훼손한 경우
- 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
- 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
- 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
- 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
소비자 피해보상 환불 지연에 따른 배상
- 상품의 불량에 의한 반품, 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 준하여 처리합니다.
- 대금 환불 및 환불 지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리합니다.