Effective C

전문적인 C 프로그래밍 입문서
$37.42
SKU
9791161757599
+ Wish
[Free shipping over $100]

Standard Shipping estimated by Fri 05/31 - Thu 06/6 (주문일로부 10-14 영업일)

Express Shipping estimated by Tue 05/28 - Thu 05/30 (주문일로부 7-9 영업일)

* 안내되는 배송 완료 예상일은 유통사/배송사의 상황에 따라 예고 없이 변동될 수 있습니다.
Publication Date 2023/06/30
Pages/Weight/Size 188*235*20mm
ISBN 9791161757599
Categories IT 모바일 > 프로그래밍 언어
Description
시간이 지나도 변하지 않고 컴퓨팅 세계의 기반을 강화하는 데 도움이 되는 전문적이고 안전하며 이식 가능한 C 코드를 작성하는 방법을 저자의 경험을 바탕으로 설명한다. C와 C 표준 라이브러리를 사용하는 모범 사례와 사용 중에 발생할 수 있는 일반적인 오류 등을 설명한다. C 프로그램을 디버깅하고 테스트하고 분석하는 방법도 소개한다.
Contents
1장. C 시작하기

__첫 번째 C 프로그램 개발하기
____프로그램 컴파일 및 실행
____전처리기 지시문
____main 함수
____함수 반환 값 확인
____출력 형식
__편집기 및 통합 개발 환경
__컴파일러
____GNU 컴파일러 모음
____Clang
____마이크로소프트 Visual Studio
__이식성
____구현 정의 동작
____미지정 동작
____미정의 동작
____로케일 별 동작 및 공통 확장
__요약


2장. 개체와 함수, 형식

__개체와 함수, 형식, 그리고 포인터
__변수 선언
____값 바꾸기 (첫 번째 시도)
____값 바꾸기 (두 번째 시도)
__범위
__스토리지 기간
__맞춤
__개체 형식
____부울 형식
____문자 형식
____숫자 형식
____void 형식
__함수 형식
__파생된 형식
____포인터 형식
____배열
____구조체
____공용체
__태그
__형식 한정자
____const
____volatile
____restrict
__연습 문제
__요약

3장. 산술 형식

__정수
____패딩과 정밀도
____〈limits.h〉 헤더 파일
____정수 선언하기
____부호가 없는 정수
____부호가 있는 정수
____정수 상수
__부동 소수점
____부동 소수점 형식
____부동 소수점 산술
____부동 소수점 값
____부동 소수점 상수
__산술 변환
____정수 변환 순위
____정수 확장
____일반 산술 변환
____암시적 변환의 예
____안전한 변환
__요약

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
____문자 변환
__문자열
____문자열 리터럴
__문자열 처리 함수
____〈string.h〉와 〈wchar.h〉
____부속서 K 경계 검사 인터페이스
____POSIX
____Microsoft
__요약

8장. 입출력

__표준 입출력 스트림
____스트림 버퍼링
____미리 정의된 스트림
____스트림 방향
____텍스트 및 이진 스트림
__파일 열기 및 만들기
____fopen 함수
____POSIX open 함수
__파일 닫기
____fclose 함수
____POSIX close 함수
__문자와 줄을 읽고 쓰기
__스트림 플러싱
__파일에서 위치 설정하기
__파일 삭제하기 및 이름 바꾸기
__임시 파일 사용하기
__형식이 있는 텍스트 스트림 읽기
__이진 스트림에서 읽기 및 쓰기
__요약

9장. 전처리기

__컴파일 과정
__파일 포함
____따옴표 및 홑화살괄호 포함 문자열
__조건부 포함
____오류 만들기
____헤더 보호기 사용하기
__매크로 정의
____매크로 대체
____형식 제네릭 매크로
____미리 정의된 매크로
__요약

10장. 프로그램 구조

__구성 요소화의 원칙
____결합도와 응집도
____코드 재사용
____데이터 추상화
____불투명 형식
__실행 파일
__링크
__간단한 프로그램 구조화하기
__코드 빌드하기
__요약

11장. 디버깅과 테스트, 분석

__어설션
____정적 어설션
____런타임 어설션
__컴파일러 설정 및 플래그
____GCC 및 Clang
____Visual C++
__디버깅
__단위 테스트
__정적 분석
__동적 분석
____AddressSanitizer
__연습 문제
__요약
Author
로버트 C. 시코드,박정재,장준원,장기식
카네기멜론대학교(Carnegie Mellon University)의 소프트웨어 엔지니어링 연구소(SEI, Software Engineering Institute CERT) 부서의 안전한 코딩 기술 책임자다. 카네기멜론대학교의 정보 네트워킹 연구소와 컴퓨터 과학 학부의 조교수이기도 하다.

현재까지 『C & C++ 시큐어 코딩』(에이콘, 2015), 『자바 시큐어 코딩 가이드라인』(인피니티북스, 2017)을 포함해 총 8권의 책을 썼다. 소프트웨어 보안과 컴포넌트 기반의 소프트웨어 엔지니어링, 웹 기반 시스템 설계, 구 시스템의 현대화, 컴포넌트 저장소와 검색 엔진, 사용자 인터페이스 및 개발 등과 관련해 총 40편의 논문을 발표했다. 2005년부터 산업 기관과 교육 기관, 정부 기관 등에 C와 C++ 언어로 된 안전한 코딩을 강의하고 있다. 1982년 IBM에서 전문적인 프로그래밍을 시작했으며 통신과 운영체제 소프트웨어, 프로세서 개발, 소프트웨어 엔지니어링 등 다방면에서 프로젝트를 진행하고 있다. X 컨소시엄(X Consortium)에서 일했으며 당시 공통 데스크톱 환경과 X 윈도우 시스템 개발과 코드 유지 보수 지원을 했다. C 프로그래밍 언어의 표준화를 위한 ISO/IEC JTC1/SC22/WG14에서 카네기 멜론 대학의 대표 멤버로 활동하고 있다.
카네기멜론대학교(Carnegie Mellon University)의 소프트웨어 엔지니어링 연구소(SEI, Software Engineering Institute CERT) 부서의 안전한 코딩 기술 책임자다. 카네기멜론대학교의 정보 네트워킹 연구소와 컴퓨터 과학 학부의 조교수이기도 하다.

현재까지 『C & C++ 시큐어 코딩』(에이콘, 2015), 『자바 시큐어 코딩 가이드라인』(인피니티북스, 2017)을 포함해 총 8권의 책을 썼다. 소프트웨어 보안과 컴포넌트 기반의 소프트웨어 엔지니어링, 웹 기반 시스템 설계, 구 시스템의 현대화, 컴포넌트 저장소와 검색 엔진, 사용자 인터페이스 및 개발 등과 관련해 총 40편의 논문을 발표했다. 2005년부터 산업 기관과 교육 기관, 정부 기관 등에 C와 C++ 언어로 된 안전한 코딩을 강의하고 있다. 1982년 IBM에서 전문적인 프로그래밍을 시작했으며 통신과 운영체제 소프트웨어, 프로세서 개발, 소프트웨어 엔지니어링 등 다방면에서 프로젝트를 진행하고 있다. X 컨소시엄(X Consortium)에서 일했으며 당시 공통 데스크톱 환경과 X 윈도우 시스템 개발과 코드 유지 보수 지원을 했다. C 프로그래밍 언어의 표준화를 위한 ISO/IEC JTC1/SC22/WG14에서 카네기 멜론 대학의 대표 멤버로 활동하고 있다.