ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 프로그래밍 관련 책 모음.
    프로그래밍 2017. 8. 23. 01:33

    핀터레스트에 책들을 모아두고 있습니다.


    http://pin.it/4sxkz5-


    일부 수학책(이산, 선형대수, 공업등)도 포함되어 있습니다.

    앞으로 시간이 생길때 꾸준히 업데이트 할 예정입니다.


    댓글로 책 추천도 받아요~~


    음.. 최근에 이 글에 들어왔더니 책목록 전체가 보이진 않군요..

    불편해도 모든 목록을 볼려면, 링크에 들어가셔야 될 거 같습니다.

    글고.. 이동 기능을 실험해보다 넣은 책 순서가 다 어긋나서 지금 맨붕중..


    중간고사가 끝나고, 다들 시간이 남아 돌때.. 기습!!
    제가 읽거나 읽을 책들의 순서들을 천천히 작성중입니다.

    0. 주의사항

    제 핀터레스트에 저장해놓은 책표지들을 기준으로 작성하였기 때문에 이미지들은 영어책들의 표지가 들어가지만 번역본은 대부분 있습니다.(절판된 것들이 꽤 있는 건 안비밀.)
    책 표지를 누르면 교보 사이트로 이동할겁니다.

    절판된 책은 어떻게 구하냐고??
    가장 먼저 생각할 수 있는 것은 도서관을 이용하는 것이고, 소장하고 싶다면 중고로 구매를 하던가, 아마존에서 영문 책을 구매하자.
    아님, 제출간을 하도록 출판사에 비는 방법도..

    그리고 응용보단 이론, 즉 CS(Computer Science)에 치중하여 책들이 선정되어 있습니다.


    구성
    언어-입문서-스킬업-레퍼런스-응용-요약으로 이루어져 있다.
    입문서는 말그대로 입문하기 좋은 책이 소개되어 있고, 스킬업은 언어를 잘 다루는 방법에 대하여 소개한다.
    레퍼런스도 말그대로 기준으로 볼만한 것들이 소개되어있다. 응용에서는 해당 언어를 활용할 수 있는 책으로 구성되어 있다.
    칼을 뽑았으면(언어를 배웠으면) 무라도 베어야된다(뭐라도 해야한다.)고 생각한다.
    마지막으로 요약에서는 앞서 이야기한 것들중 필수 요소에 대하여 짧게 요약한다.

    1.With C언어

    1.1 입문서 - C 기초 플러스(C Primer Plus)

    일단 제대로 C를 공부해보고 싶다면, 윤성우는 이제 보지 말자.
    윈도우에 종속된 라이브러리를 사용하는 코드가 있는 등, 표준에서 어긋난 경우가 꽤 있다.
    분명 쉽게 쓰여져서 이해가기가 좋은 것은 사실이지만, 잘 쓰여졌다고 보기는 좀.. 그렇다.

    지금 1학년들은 2학기이고 C언어에 어느정도 익숙해져가는 시기이기 때문에 이제 잘 쓰여진 책으로 넘어가는 것이 맞는 수순이라 본다.

    그렇다면, 내가 추천하는 책은 무엇인가?
    바로 C 기초 플러스(C Primer Plus)이다.


    책정보(자세한 내용을 보고 싶다면 누름.)

    책 소개:

    『C 기초플러스』는 전 세계적으로 55만부나 판매된 스테판 프레타 교수의 C의 바이블 C 기초플러스의 최신판이다.
    각 장의 끝에 마련된 복습 문제와 프로그래밍 연습문제를 통해 그 장의 핵심이 되는 주제를 다시 한번 되새기고, 가장 어려운 개념들을 이해하고 요약할 수 있다.

    쪽수: 1216쪽

    목차:

    Chapter
    
    01. 준비 ···························································································································1
    02. C 첫걸음·················································································································· 33
    03. 데이터와 C ············································································································· 67
    04. 문자열과 입출력 포맷······························································································ 119
    05. 연산자, 표현식, 문장 ······························································································ 168
    06. C의 제어문: 루프 ··································································································· 221
    07. C의 제어문: 분기와 점프·························································································· 285
    08. 문자 입출력과 입력 유효성 검사·············································································· 347
    09. 함수 ························································································································ 393
    10. 배열과 포인터 ········································································································ 449
    11. 문자열과 문자열 함수······························································································· 518
    12. 저장 클래스, 연계, 메모리 관리················································································ 600
    13. 파일 입출력 ············································································································ 667
    14. 구조체와 그 밖의 데이터형······················································································· 711
    15. 비트 조작 ··············································································································· 796
    16. C 전처리기와 C 라이브러리····················································································· 841
    17. 고급 데이터 표현 ··································································································· 914
    
    
    부록
    
    A. 복습 문제 풀이 ······································································································· 1015
    B. 참고 섹션 ················································································································ 1062
    C. 찾아보기 ················································································································· 1165 
    

    +.

    또 다른 입문 서적으로는 KnK라 흔히 불리는 C Programming: A Modern Approach도 추천합니다.


    책정보(자세한 내용을 보고 싶다면 누름.)

    책 소개:

    The first edition of C Programming: A Modern Approach was popular with students and faculty alike because of its clarity and comprehensiveness as well as its trademark Q&A sections.
    Professor King's spiral approach made it accessible to a broad range of readers, from beginners to more advanced students. With adoptions at over 225 colleges, the first edition was one of the leading C textbooks of the last ten years. The second edition maintains all the book's popular features and brings it up to date with coverage of the C99 standard. The new edition also adds a significant number of exercises and longer programming projects, and includes extensive revisions and updates.

    쪽수: 832쪽

    목차:

    Introducing C	
    History of C	
    Origins	
    Standardization	
    C++	
    Strengths and Weaknesses of C	
    Strengths	
    Weaknesses	
    Effective Use of C	
    C Fundamentals	
    Writing a Simple Program	
    Program: Printing a Pun	
    Compiling and Linking	
    The General Form of a Simple Program	
    Directives	
    Functions	
    Statements	
    Printing Strings	
    Comments	
    Variables and Assignment	
    Types	
    Declarations	
    Assignment	
    Printing the Value of a Variable	
    Program	
    Computing the Dimensional Weight of a Box	
    Initialization	
    Printing Expressions	
    Reading Input Program: Computing the Dimensional Weight of a Box (Revisited)	
    Defining Constants Program: Converting from Fahrenheit to Celsius	
    Identifiers	
    Keywords	
    Layout of a C Program	
    Formatted Input/Output	
    The printf Function Conversion Specifications	
    Program: Using printf to Format Numbers	
    Escape Sequences	
    The scanf Function How scanf Works	
    Ordinary Characters in Format Strings	
    Confusing printf with scanf	
    Program: Computing the Value of Stock Holdings	
    Expressions	
    Arithmetic Operators	
    Operator Precedence and Associativity	
    Program: Computing a UPC Check Digit	
    Assignment Operators Simple Assignment	
    Lvalues	
    Compound Assignment	
    Increment and Decrement Operators	
    Expression Evaluation Order of Subexpression Evaluation	
    Expression Statements	
    5 Selection Statements	
    Logical Expressions Relational Operators	
    Equality Operators	
    Logical Operators	
    The if Statement Compound Statements	
    The else Clause	
    Cascaded if Statements	
    Program: Calculating a Broker's Commission	
    The 'Dangling else' Problem	
    Conditional Expressions	
    Boolean Values	
    The switch Statement The Role of the break Statement	
    Program: Printing a Date in Legal Form	
    Loops	
    The while Statement Infinite Loops	
    Program: Printing a Table of Squares	
    Program: Summing a Series of Numbers	
    The do Statement Program: Calculating the Number of Digits in an Integer	
    The for Statement for Statement Idioms	
    Omitting Expressions in a for Statement	
    The Comma Operator	
    Program: Printing a Table of Squares (Revisited)	
    Exiting from a Loop	
    The break Statement	
    The continue Statement	
    The goto Statement	
    Program: Balancing a Checkbook	
    The Null Statement	
    Basic Types	
    Integer Types Integer Constants	
    Reading and Writing Integers	
    Program: Summing a Series of Numbers (Revisited)	
    Floating Types	
    Floating Constants	
    Reading and Writing Floating-Point Numbers	
    Character Types	
    Escape Sequences	
    Character-Handling Functions	
    Reading and Writing Characters	
    Program: Determining the Length of a Message	
    The sizeof Operator	
    Type Conve	
    Table of Contents provided by Publisher. All Rights Reserved.
    

    다만 번역서는 없음.


    이때 드는 의문.

    한국인이 쓴 C언어 책은 좋은 책 없어요?

    네. 있습니다. 그런데 절판

    C언어 펀더멘탈: 견고한 프로그램을 위한 기본원리.<절판>

    책정보(자세한 내용을 보고 싶다면 누름.)

    책 소개:

    C에 대한 오해와 선입견을 버리도록 돕는 책!

    이 책은 C 언어를 관통하는 철학과 알고리즘을 소개한다. 많은 프로그래머들이 프로그래밍 철학과 C 언어 자체에 대한 이해가 결여된 상태에서 프로그램을 작성하면서도 '돌아가기만 하면 그만이다'라는 생각을 한다. 그러나 겉으로 멀쩡해 보이는 프로그램 안에 실제로 얼마나 많은 오류들이 숨어 있는지 생각해본 적이 있는가?

    본문은 오랫 동안 C 표준을 꾸준히 공부해 온 저자가 국내 C 관련 서적과 커뮤니티에서 봐왔던 오해와 선입견들을 바로잡는 과정을 담고 있다. '정확하고 분명하게' C 언어의 개념을 설명한다. 이제 갓 C에 입문하려는 사람들 또는 기본을 다지지 못한 채 실용성만을 추구해 깊이 있는 이해가 부족한 개발자들에게 C의 진수를 알게 해준다.

    기존 C 책에서 은근슬쩍 넘어갔던 C에 대한 오해와 선입견들을 깨뜨리는 신선함을 느낄 수 있다. 또 베타테스터가 제기하는 의문을 통해 어려운 부분은 한 번 더 풀어 설명한다. 중요한 용어는 본문 바로 옆에 해설을 제시하였고, '전웅의 어려운 이야기' 코너에서는 고급 지식을 제공한다. 곳곳에 '역사속으로' 코너를 마련하여 재미있는 C의 역사도 소개한다.

    ☞ 이 책의 독서 포인트! C 언어의 표준과 프로그래밍 알고리즘을 동시에 학습할 수 있다. 저자의 명쾌한 설명과 적절하며 독창적인 비유를 통해 어려운 개념을 쉽게 해설한다. 표준 라이브러리를 이용한 작고 기능성있는 순수 창작 예제가 가득하다.

    ▶ 2003년에 출간된『IT 백두대간 C언어 펀더멘탈』의 재출간판입니다.

    쪽수: 1012쪽

    목차:

    PART 1 지반이 튼튼해야 건물이 바로 선다
    
    Chapter 01 시작하기 전에
    기술적인 내용을 전달하는 목적의 책은 분명 시집이나 소설책과는 다르다. 이 책은'정확한' C 언어를 전달하려는 기술서이므로 많은 수의 전문적인 개념 및 용어와 표현상의 형식을 사용한다. 본격적인 이야기를 시작하기 전, 표현·형식에 대한 몇 가지 약속과 책 전반에서 알고 있어야 할 기본적인 개념을 알아보자.
    01. 미리 알아두기
    02. 프로그래밍 언어란 무엇일까?
    03. C는 컴파일 언어, 아니면 인터프리터 언어?
    총정리 - 꼭 기억하세요 & 필드 테스트
    전웅의 특급 노하우 - 소스만 보고 성능을 비교할 수 있을까?
    
    Chapter 02 지금의 C를 만나기까지
    이 장에서는 C 언어의 역사를 소개한다. 이렇게 C의 과거를 훑어보는 것은 미래를 예측할 수 있는 좋은 계기가 될 수도 있다. C의 뿌리를 이루고 있는 조상에서부터 지금의 C99 표준이 완성되기까지의 과정을 소개했다. 느긋하게 기술 잡지를 읽는다고 생각하자.
    01. 나이 30대, C가 걸어온 길
    02. 표준과 확장 그리고 진단 메시지
    03. C와 C++, 대체 그 둘의 관계는?
    총정리 - 꼭 기억하세요 & 필드 테스트
    전웅의 어려운 이야기 - PDP-11에서 B 언어의 문제
    전웅의 어려운 이야기 - 생활에서 찾아 본 표준
    전웅의 어려운 이야기 - 확장의 두 가지 분류
    전웅의 어려운 이야기 - [그림 2-7]에 관해 : C와 C++의 수학적 포함 관계
    
    Chapter 03 누구에게나 환경은 중요하다
    2장에 이르기까지 지겨운 잔소리와 약속들에 지친 독자들에게는 미안한 이야기지만, 아직도 본격적인 C 언어 이야기보다는 C 언어와 관련된 주변 이야기가 더 남아있다. C 언어를 설명한다고 해놓고서는 아직 C 언어의 맛도 보여주지 않는 필자가 미울지도 모르겠다. 하지만 한번만 더 필자를 믿고 따라와주길 바란다. 다행스럽게도(?) 이번에 다루는 내용은 이전에 살펴본 것보다 더 어렵다.
    01. 프로그램이 번역, 실행되는 환경
    02. 문자세트
    총정리 - 꼭 기억하세요 & 필드 테스트
    전웅의 특급 노하우 - ASCII에 얽힌 오해
    전웅의 어려운 이야기 - 고정길이 레코드 파일 시스템
    전웅의 어려운 이야기 - 멀티바이트 제대로 알기
    
    PART2 이제는 C 언어로 말할 수 있다
    
    Chapter 04 컴퓨터가 C를 듣는 방법
    말을 잘 하기 위해서는 컴퓨터가 어떻게 듣는지를 이해하는 것이 중요하다. 아무리 똑똑한 사람이 쉬운 말, 고운 말로 컴퓨터를 설득한다고 해도 컴퓨터가 그 말을 곧이 곧대로 해석하지 않으면 얻을 수 있는 것이 없다. 지금부터 말하는 법을 배우기 위해 컴퓨터가 어떻게 듣는지를 알아보려 한다.
    01. 토큰의 개념
    02. 토큰의 요소(어휘적 요소)
    총정리 - 꼭 기억하세요 & 필드 테스트
    전웅의 어려운 이야기 - 헤더명의 토큰화
    전웅의 어려운 이야기 - 수치 확장 문자열과 정수 상수의 차이
    전웅의 어려운 이야기 - 문자열 상수 가운데 널문자를 넣어보자
    전웅의 어려운 이야기 - 전처리기 숫자의 문법
    
    Chapter 05 데이터형의 기본
    데이터형을 올바르게 이해하는 것은 실제 프로그램을 작성할 때는 물론, 이 책의 나머지 부분을 공부하는 데 반드시 필요하다. 앞으로의 길이 얼마나 평탄한지는 데이터형의 학습 여부에 달렸다고 해도 과언이 아니다.
    01. 기본 데이터형
    02. 유도형의 소개
    03. 데이터형의 분류
    총정리 - 꼭 기억하세요 & 필드 테스트
    전웅의 특급 노하우 - 패딩 비트가 끼면 달라진다?
    전웅의 특급 노하우 - 데이터형 표현 방법
    전웅의 특급 노하우 - 정수형 표현과 부동형 표현, 그 베일을 벗겨보자
    
    Chapter 06 선언
    선언은 3장에서 배운 명칭과 C의 추상적인 언어적 요소 사이를 연결해주는 다리라고 생각할 수 있다. 이 장에서는 데이터형에 대한 완벽한 이해를 잠시 미뤄놓고, 선언의 개념과 방법을 먼저 살펴보자.
    01. 선언의 기본 개념
    02. 선언의 형식
    03. 복잡한 선언
    총정리 - 꼭 기억하세요 & 필드 테스트
    전웅의 특급 노하우 - const 한정어와 최적화
    전웅의 어려운 이야기 - 명칭의 통용범위와 대상체의 기억수명
    전웅의 어려운 이야기 - 그 외에 volatile 한정이 필요한 경우
    전웅의 어려운 이야기 - 선언을 통한 한정
    
    Chapter 07 포인터와 배열
    이제는 C를 공부하는 많은 사람들을 도중 하차하게 만든다는 포인터와 배열 다룰 차례이다. 어려운 내용인 만큼 개념을 중심으로 설명했으니 진도가 늦더라도 절대 도중 하차하지 말자.
    01. 포인터를 이해하자
    총정리 - 꼭 기억하세요 & 필드 테스트
    02. 배열
    총정리 - 꼭 기억하세요 & 필드 테스트
    전웅의 특급 노하우 - 겉은 다르지만 속은 같다
    전웅의 특급 노하우 - pointer to array of T의 pointer to T로의 변환
    전웅의 특급 노하우 - 비대칭 경계
    전웅의 특급 노하우 - 왜 반대 방향은 허락해주지 않는가?
    전웅의 특급 노하우 - malloc()가 반환하는 메모리
    전웅의 어려운 이야기 - 포인터가 꼭 필요한가?
    전웅의 어려운 이야기 - 같은 간접지정이지만...
    전웅의 어려운 이야기 - 분할 아키텍처
    전웅의 어려운 이야기 - 왜 다른 크기나 표현을 써야 하는가?
    전웅의 어려운 이야기 - 어렵고도 어려운 변환
    전웅의 어려운 이야기 - my_memcpy의 문제점
    전웅의 어려운 이야기 - 형한정어와 널 포인터 상수
    전웅의 어려운 이야기 - 사용자정의형 명칭과 불완전한 배열
    전웅의 어려운 이야기 - 추가로 붙은 널문자
    전웅의 어려운 이야기 - 널문자를 중간에 포함하는 문자열 상수
    전웅의 어려운 이야기 - 문자열 상수가 만든 문자열도 배열
    
    Chapter 08 함수
    C에서 함수는 데이터형인 유도형의 한 종류이다. 표준화 이전의 C 언어를 반영하기 위해 다소 복잡해진 함수에 대해 정의와 선언, 호출이라는 세 관점에서 깊이 있게 알아보자.
    01. 함수
    총정리 - 꼭 기억하세요 & 필드 테스트
    전웅의 특급 노하우 - 원형과 비원형 선언의 자동 선택
    전웅의 어려운 이야기 - 사용자정의형 명칭과 함수 선언
    전웅의 어려운 이야기 - 사용자정의형 명칭의 재선언
    전웅의 어려운 이야기 - 비원형 선언과 널 포인터
    
    Chapter 09 구조체·공용체 그리고 열거
    각각 유도형과 정수형에 속하는 구조체·공용체와 열거는 서로 다른 특성을 가지고 있지만 선언 형태에 유사한 점이 많다. 프로그램을 추상화 하는 데 큰 공헌을 하는 이 데이터형들의 본질적인 모습을 파헤쳐보자.
    01. 구조체와 공용체
    02. 열거
    03. 호환형과 합성형
    04. 초기화
    총정리 - 꼭 기억하세요 & 필드 테스트
    전웅의 특급 노하우 - offsetof() 매크로로 구조체 이해하기
    전웅의 어려운 이야기 - 저장 단위에 대해서
    전웅의 어려운 이야기 - 1비트 크기의 유부호 비트 필드
    전웅의 어려운 이야기 - 유연한 구조체 만들기
    전웅의 어려운 이야기 - [예제 9-8]에 관해 : 15번 줄이 문제를 일으킬 수 있나?
    전웅의 어려운 이야기 - 패딩 비트가 없는 unsigned char 형
    
    Chapter 10 변환
    수식을 제대로 이해하기 위해서는 연산 자체와 관련된 개념도 중요하지만 복잡한 데이터형 변환을 능숙하게 다루는 능력도 필요하다. 변환은 수식과 데이터형 사이에 놓이는 다리 같은 개념이다.
    01. 변환의 기본 개념
    02. 산술형의 변환
    03. 여러 가지 변환 규칙
    04. void 수식
    총정리 - 꼭 기억하세요 & 필드 테스트
    전웅의 특급 노하우 - 무부호 정수형의 모듈로 연산
    전웅의 특급 노하우 - 값 보존과 무부호 보존
    전웅의 어려운 이야기 - 부동소수연산의 정밀도
    전웅의 어려운 이야기 - 변환의 이해를 돕기 위한 이야기
    
    Chapter 11 수식
    수식은 실행환경의 상태를 변화시키는 행위를 통해 원하는 결과를 얻어내는 명령형 언어의 핵심이다.
    01. 수식의 기본 개념
    02. 연산자
    03. 상수 수식
    총정리 - 꼭 기억하세요 & 필드 테스트
    전웅의 특급 노하우 - sizeof 연산자의 명칭
    전웅의 어려운 이야기 - 공통 초기열의 접근과 공용체 선언의 관계
    전웅의 어려운 이야기 - offsetof() 매크로의 실용성
    전웅의 어려운 이야기 - 번지 연산자와 간접 지정 연산자가 사라지지만...
    전웅의 어려운 이야기 - sizeof 연산자의 오버플로우
    전웅의 어려운 이야기 - 캐스트 연산자의 우선순위
    전웅의 어려운 이야기 - 상수 수식과 널 포인터 상수
    
    Chapter 12 문장
    프로그램의 행동은 문장을 통해 기술된다. 프로그래머의 명령을 전달하는 문장에 대해서 공부해보자.
    01. 문장의 개념과 종류
    총정리 - 꼭 기억하세요 & 필드 테스트
    전웅의 특급 노하우 - switch 문과 Duff's device
    
    Chapter 13 외부 정의와 프로그램 시작·종료
    조금만 멀리 날아보자. 이제 프로그램의 구조를 조감(鳥瞰)할 시간이 되었다.
    01. 외부 정의 모델
    02. 프로그램의 실행과 종료
    총정리 - 꼭 기억하세요 & 필드 테스트
    전웅의 어려운 이야기 - 수정 가능한 프로그램 매개변수
    전웅의 어려운 이야기 - main() 함수에서의 반환과 exit() 호출
    
    Chapter 14 전처리기
    이제 C 언어를 탐사하기 위한 긴 여행을 일단 마무리할 시간이 되었다. 마지막으로 다룰 내용은 프로그램의 번역 과정에서 지금까지 배운 내용보다 앞서 일어나는 전처리 과정이다.
    01. 전처리기의 기본 개념
    02. 매크로의 정의와 확장
    03. 조건부 번역
    04. 헤더와 외부 소스 파일의 첨가
    05. 그 외의 전처리기 지시자와 기정의 매크로명
    06. 프로그램 번역 과정
    07. 모듈화를 위한 스타일
    총정리 - 꼭 기억하세요 & 필드 테스트
    전웅의 특급 노하우 - 기정의 매크로명으로 임플리멘테이션 조사하기
    전웅의 어려운 이야기 - 매크로 재정의가 허락된 이유
    전웅의 어려운 이야기 - 재귀적 확장에 대해
    전웅의 어려운 이야기 - 인자에서 생성된 ## 연산자
    전웅의 어려운 이야기 - #include 지시자와 매크로의 남용 
    

    완전히 기본서라고 하기엔 여러 부가적인 내용이 많이 들어가 있어서, 초~중급서라고 보면 될거 같습니다.

    단점으론 중고가가 10만원 가까이 해서 사서 보기엔 부담습니다.


    개정판의 표지가 좀 못생겼는데 초판의

    강태공이 휘이 휘이 여유롭게 낚시하는 듯한 표지에서는 고오오급스러움과 파워가 간접적으로 느껴집니다.


    1.2 스킬업

    1.2.1 포인터 - C 포인터의 이해와 활용(Understanding and Using C Pointers)

    포인터는 C언어의 꽃이지만 많은 사람들이 항상 좌절하고, 힘들어하는 부분이다.
    그럴때 포인터에 대한 책 1권정도는 읽는 게 좋다고 생각한다.

    여기에 소개 시켜주는 C 포인터의 이해와 활용(Understanding and Using C Pointers)라는 책은 얇고, 포인터에 대하여 처음부터 차근차근 가르켜준다.


    책정보(자세한 내용을 보고 싶다면 누름.)

    책 소개:

    『C 포인터의 이해와 활용』은 포인터가 어떻게 메모리에 대한 동적인 관리 메커니즘과 데이터 구조에 대한 향상된 지원, 그리고 하드웨어에 대한 접근 방법을 제공하는지에 대해 배울 수 있는 실용적인 책이다.
    저자인 리차드 리스는 책 전반에 걸쳐 메모리 모델을 통해 배열, 문자열, 구조체, 함수 등을 포인터로 다루는 방법을 보여준다.

    쪽수: 269쪽

    목차:

    1장 시작하기
    포인터와 메모리 2
    포인터를 잘 알아야 하는 이유 4
    포인터 선언하기 7
    포인터 선언을 읽는 방법 9
    주소 연산자 10
    포인터 값 출력하기 12
    간접 참조 연산자로 포인터 역참조하기 14
    함수 포인터 15
    Null의 개념 15
    포인터의 크기와 데이터 타입 21
    메모리 모델 21
    사전 정의된 포인터 관련 데이터 타입 22
    포인터 연산자 27
    포인터 산술 연산 27
    포인터 비교 33
    일반적인 포인터 사용 33
    다중 수준 간접지정 33
    상수와 포인터 35
    요약 42
    
    2장 동적 메모리 관리
    동적 메모리 할당 46
    메모리 누수 49
    동적 메모리 할당 함수 52
    malloc 함수 사용하기 53
    calloc 함수 사용하기 58
    realloc 함수 사용하기 59
    alloca 함수와 가변 배열 62
    free 함수로 메모리 반환하기 63
    해제된 포인터에 NULL 할당하기 64
    이중 해제 65
    힙 메모리와 시스템 메모리 67
    프로그램 종료 시 메모리 해제 67
    댕글링 포인터 68
    댕글링 포인터 예제 68
    댕글링 포인터 다루기 71
    메모리 누수 탐지 기능 72
    동적 메모리 할당 기술 73
    가비지 컬렉션 73
    리소스 획득 즉시 초기화 74
    예외 처리기 사용하기 75
    요약 76
    
    3장 포인터와 함수
    프로그램 스택과 힙 78
    프로그램 스택 78
    스택 프레임의 구성 80
    포인터에 의한 전달과 반환 83
    포인터로 전달하기 83
    값에 의한 전달 85
    상수 포인터 전달하기 86
    포인터 반환하기 87
    로컬 데이터 포인터 89
    Null 포인터 전달하기 91
    포인터의 포인터 전달하기 92
    함수 포인터 96
    함수 포인터 선언하기 96
    함수 포인터 사용하기 98
    함수 포인터 전달하기 100
    함수 포인터 반환하기 100
    함수 포인터의 배열 이용하기 101
    함수 포인터 비교하기 103
    함수 포인터 캐스팅 103
    요약 105
    
    4장 포인터와 배열
    배열 108
    1차원 배열 109
    2차원 배열 110
    다차원 배열 111
    포인터 표기법과 배열 112
    배열과 포인터의 차이점 115
    malloc 함수로 1차원 배열 생성하기 116
    realloc 함수로 배열 크기 조정하기 117
    1차원 배열 전달하기 121
    배열 표기법 사용하기 122
    포인터 표기법 사용하기 123
    1차원 포인터 배열 이용하기 124
    포인터와 다차원 배열 126
    다차원 배열 전달하기 129
    2차원 배열 동적으로 할당하기 133
    불연속 메모리 할당 134
    인접한 메모리 할당하기 135
    가변 배열과 포인터 137
    요약 140
    
    5장 포인터와 문자열
    문자열 기초 144
    문자열 선언 145
    문자열 리터럴 풀 146
    문자열 초기화 148
    표준 문자열 연산 153
    문자열 비교하기 153
    문자열 복사하기 156
    문자열 연결하기 158
    문자열 전달하기 162
    단순 문자열 전달하기 162
    상수 문자에 대한 포인터 전달하기 164
    전달한 문자열 초기화하기 165
    애플리케이션에 인자 전달하기 167
    문자열 반환하기 169
    리터럴 문자열의 주소 반환하기 169
    동적으로 할당된 메모리 주소 반환하기 171
    함수 포인터와 문자열 173
    요약 176
    
    6장 포인터와 구조체
    소개 178
    구조체에 메모리가 할당되는 방법 180
    구조체 할당 해제 이슈 181
    malloc/free 오버헤드 회피하기 185
    포인터와 데이터 구조 187
    단일 연결 리스트 189
    포인터와 큐 198
    포인터와 스택 201
    포인터와 트리 203
    요약 208
    
    7장 보안 이슈와 포인터의 오남용
    포인터의 선언과 초기화 213
    부적절한 포인터 선언 213
    초기화되지 않은 포인터 214
    초기화되지 않은 포인터 처리하기 215
    포인터 사용 이슈 216
    NULL 확인하기 217
    참조 연산자의 잘못된 사용 217
    댕글링 포인터 218
    배열의 범위를 벗어난 메모리 접근 218
    배열 크기 계산 오류 219
    sizeof 연산자 오용 220
    항상 포인터 타입 일치시키기 221
    유계 포인터 222
    문자열 보안 이슈 223
    포인터 연산과 구조체 225
    함수 포인터 이슈 227
    메모리 해제 이슈 229
    이중 해제 229
    민감한 데이터 지우기 230
    정적 분석 도구 사용하기 230
    요약 232
    
    8장 기타
    포인터 캐스팅 234
    특수 목적 주소 접근하기 236
    포트에 접근하기 237
    DMA로 메모리 접근하기 239
    시스템의 엔디안 종류 알아내기 239
    에일리어싱, 엄격한 에일리어싱, 그리고 restrict 키워드 240
    유니언을 사용해 여러 방법으로 값 표현하기 242
    엄격한 에일리어싱 규칙 244
    restrict 키워드 사용하기 245
    스레드와 포인터 246
    스레드 간의 포인터 공유 247
    함수 포인터를 이용한 콜백 함수 지원 251
    객체 지향 기법 253
    불투명 포인터 생성하고 사용하기 253
    C 언어에서의 다형성 258
    요약 264 
    

    1.2.2 실수 줄이기 - C 함정과 실수(C Traps and Pitfalls) <절판>

    C언어에서 자주하는 실수들을 모아놓은 책이다.

    사실, 기본서를 꼼꼼히 읽는 것이 무척 힘들기 때문에 대충 읽어서 디버깅시 에러가 수루룩 나오는 것을 경험하는 사람들에게 C 함정과 실수(C Traps and Pitfalls)를 추천!!


    책정보(자세한 내용을 보고 싶다면 누름.)

    책 소개:

    C 프로그래머들이 쉽게 빠지거나 저지를 수 있는 함정과 실수를 다양한 예제를 통해 보여주면서 버그를 사전에 막을 수 있는 방법을 제시한다.
    또한 하나 차이로 인한 오류 피하기, 함수 선언의 이해 및 작성, 포인터와 배열의 미묘한 관계에 대해서도 다룬다. 오랫동안 쌓아온 저자의 C 프로그래밍 경험을 담은 이 책은 C 언어 초보자나 전문가가 반드시 알아야 할 필수 요소를 정확하게 보여주고 있다.

    쪽수: 216쪽

    목차:

    0장 소개
    1장 어휘론적 오류
    2장 구문론적 오류
    3장 의미론적 오류
    4장 링키지
    5장 라이브러리 함수
    6장 전처리기
    7장 이식성 문제
    8장 도움말과 연습문제 해답
    부록 PRINTF, VARARGS, STDARG
    찾아보기 
    


    절판(영문으로는 아마존에서 팜.)되어 못보는 사람들을 위해 맛보기로 보여준다면, 대충 아래와 같이 구성되어 있다.
    http://www.literateprogramming.com/ctraps.pdf

    이 것만 보아도 상관은 없다.


    이 책도 얇아서 읽는데 부담스럽게 느껴지지 않을 것이다.

    하지만, C99 표준이 나오기 전에 나왔다는 것을 고려하는 것이 필요.

    (책을 읽다보면 포트란, 알골, 파스칼같은 언어가 등장하는 것만 보아도 약간 올드하단 것을 알 수 있다. 최근 C11과는 좀 차이가 있는 부분도 분명히 존재하기 때문에 제대로된 기본서는 때고 봐야한다.)


    1.2.3~1.2.4는 C를 진지하게 공부할때 필요하다 생각한다.

    1.2.3 인터페이스 구현 - 재사용 가능한 소프트웨어 개발을 위한 C 인터페이스 구현(C Interfaces and Implementations: Techniques for Creating Reusable Software)

    여기서 말하는 인터페이스는 API(Application Programming Interface)에서 뜻하는 인터페이스와 같다.

    C는 다른 언어들과 달리 다른 어플리케이션에 제공할 API를 만드는 것이 쉽지는 않은데, 인터페이스와 구현에 대하여 분리하여 모듈화를 해야하는 상황이 필요하다.
    그때 필요한 책이 재사용 가능한 소프트웨어 개발을 위한 C 인터페이스 구현(C Interfaces and Implementations: Techniques for Creating Reusable Software)이다.


    책정보(자세한 내용을 보고 싶다면 누름.)

    책 소개:

    재사용 가능한 소프트웨어 개발을 위한『C 인터페이스 구현』.
    인터페이스 사용법에 관심있는 프로그래머를 위해 24가지의 인터페이스 구현 기술을 상세히 안내한 책이다. 자료 구조와 관련된 알고리즘을 재사용 가능한 모듈로 만드는 방법인 '알고리즘 공학'에 초점을 맞췄다. 소스 코드 설명을 포함하고 있는 '문학적 프로그램'을 이용하여 작성한 24개의 검증된 API와 8가지 예제 애플리케이션을 다루었다. 예제의 모든 소스 코드는 웹사이트를 통해 제공한다.

    쪽수: 503쪽

    목차:

    서문
    역자 서문
    
    Chapter 01 소개
    Chapter 02 인터페이스 구현
    Chapter 03 ATOMS
    Chapter 04 예외와 Assertion
    Chapter 05 메모리 관리
    Chapter 06 더 많은 메모리 관리
    Chapter 07 리스트
    Chapter 08 테이블
    Chapter 09 SETS
    Chapter 10 동적 배열
    Chapter 11 시퀀스
    Chapter 12 링
    Chapter 13 비트 벡터
    Chapter 14 포맷팅
    Chapter 15 저수준 문자열
    Chapter 16 고수준 문자열
    Chapter 17 확장 정밀도 연산
    Chapter 18 임의 정밀도 연산
    Chapter 19 다중 정밀도 연산
    Chapter 20 스레드
    
    인터페이스 요약
    참고문헌
    찾아보기 
    



    1.2.4 C언어 고수 - Expert C Programming: Deep C Secrets

    나중에 한번 보고 싶은 책중에 하나이다.
    C언어의 다크사이드에 대하여 나와있는 책으로 이후 소개할 TCPL과 함께 C언어 고수가 되고자 하면 봐야할 책이라 한다.
    Expert C Programming: Deep C Secrets.


    책정보(자세한 내용을 보고 싶다면 누름.)

    책 소개:

    This is a very different book on the C language! In an easy, conversational style, Peter van der Linden, of Sun's compiler and OS kernel group, presents dozens of astonishing examples drawn from practical experience, including: Software that blew up the space probe to Venus The C bug that shut down the entire AT&T phone system C programmer job interview secrets Why programmers can't tell Halloween from Christmas day The C code for a complete BASIC interpreter Expert C Programming reveals the coding techniques used by the best C programmers. It relates C to other languages, and includes an introduction to C++ that can be understood by an programmer without weeks of mind-bending study. Covering both the IBM PC and UNIX systems, it is an entertaining and educational romp through C showing how experts really use it. Expert C Programming is a must read for anyone who wants to learn more about the implementation, practical use, and folklore of C. "Not just clearly written, but fun to read. The tone and style of this text should make this a popular book with professional programmers. However, the tone of this book will make it very popular with undergraduates. Appendix A alone would make the purchase of this book a must. It's filled with great advice." -Professor Jack Beidler, Chairman, Department of Computer Science, University of Scranton "So that's why extern char *cp isn't the same as extern char cp. I knew that it didn't work despite their superficial equivalence, but I didn't know why. I also love the job interview test questions on C." -David S. Platt, Rolling Thunder Computing "In Expert C Programming, Peter van der Linden combines C language expertise and a subtle sense of humor to deliver a C programming book that stands out from the pack. In a genre too often known for windy, lifeless prose, van der Linden's crisp language, tongue-in-cheek attitude, and real-world examples engage and instruct." -John Barry, author of Sunburst, Technobabble, and other books

    쪽수: 384쪽

    목차:

    Introduction	
    The ANSI C Standard	
    It's Not a Bug, It's a Language Feature!	
    Unscrambling Declarations in C	
    Thinking of Linking	
    Poetry in Motion—Runtime Data Structures	
    Why Programmers Can't Tell Halloween from Christmas Day	
    The Shocking Truth: Arrays and Pointers Are Not Equivalent!	
    More about Arrays	
    More about Pointers	
    You Know C—C++ Is Easy!	
    Appendix: C Interview Secrets	
    Table of Contents provided by Publisher. All Rights Reserved.
    



    번역서는 없다.

    1.3 레퍼런스

    1.3.1 해설서 - Kernighan의 C언어 프로그래밍(C Programming Language)

    C언어의 레퍼런스급 해설책은 브라인언 커니헨(Brian Kernighan)과 C언어의 창시자인 데니스 리치(Dennis Ritchie)가 함께 쓴 최초의 C언어 해설서 Kernighan의 C언어 프로그래밍(C Programming Language)이다.
    흔히 K&R, TCPL이라고도 부름.


    책정보(자세한 내용을 보고 싶다면 누름.)

    책 소개:

    이 책은 C언어 프로그래밍에 대해 다룬 도서입니다. C언어 프로그래밍의 기초적이고 전반적인 내용을 학습할 수 있도록 구성했습니다.

    쪽수: 390쪽

    목차:

    Chapter 1 언어 소개
    Chapter 2 형, 연산자, 수식
    Chapter 3 제어 흐름
    Chapter 4 함수와 프로그램 구조
    Chapter 5 포인터와 배열
    Chapter 6 구조체
    Chapter 7 입력과 출력
    Chapter 8 UNIX 시스템과의 인터페이스
    
    Appendix A 참조 매뉴얼
    Appendix B 표준 라이브러리
    Appendix C 개선점 요약
    찾아보기 
    



    C언어의 창시자가 쓴 책인 만큼 정확하며, C언어의 철학등도 알 수있다.
    그러나 친절하게 나오진 않았기 때문에 기본서로는 별로.

    1.3.2 레퍼런스 가이드 - C 프로그래밍 언어(C: A Reference Manual) <품절>

    역시 C언어 자체에 대하여 더 알고 싶을때 보고 싶은 책이 필요하다.
    이때 필요한 책이 C 프로그래밍 언어(C: A Reference Manual라 할 수 있다.


    책정보(자세한 내용을 보고 싶다면 누름.)

    책 소개:

    C언어 레퍼런스 매뉴얼 개정 증보 5판.
    이 책은 C 언어의 모든 버전을 상세하게 설명하고 있으며, C 언어의 발전과 프로그래밍과 문법 표기, 어휘요소, 전처리기, 타입. 변환과 표현, 문장, 함수, 표준 언어의 확장 등으로 구성되어져 있다. 또한 ASCII 문자셋과 문법을 부록으로 실어 놓았다.

    쪽수: 711쪽

    목차:

    PART 1 C 언어
    Chapter 01 소개
    Chapter 02 어휘 요소
    Chapter 03 전처리기
    Chapter 04 선언
    Chapter 05 타입
    Chapter 06 변환과 표현
    Chapter 07 식
    Chapter 08 문장
    Chapter 09 함수
    
    PART 2 C 라이브러리
    Chapter 10 라이브러리 소개
    Chapter 11 표준 언어의 확장
    Chapter 12 문자 처리
    Chapter 13 문자열 처리
    Chapter 14 메모리 함수
    Chapter 15 입출력
    Chapter 16 일반 함수
    Chapter 17 수학 함수
    Chapter 18 시간 및 날짜 관련 함수
    Chapter 19 제어 함수
    Chapter 20 로케일
    Chapter 21 확장 정수 타입
    Chapter 22 부동소수점 환경
    Chapter 23 복소수 함수
    Chapter 24 광역 문자 및 멀티바이트 문자
    
    부록 A ASCII 문자셋 / 659
    부록 B 문법 / 661
    부록 C 연습문제 해답 / 677 
    

    1.4 응용

    1.4.1 컴퓨터 시스템 - 컴퓨터 시스템(Computer Systems: A Programmer's Perspective)

    C언어를 사용하다 보면 컴퓨터 구조와 관계된 부분을 알게 되고, 알아야될 필요성이 생기게 된다.
    그럴때 필요한 것이 CSAPP라 불리는 컴퓨터 시스템(Computer Systems: A Programmer's Perspective)이다.


    책정보(자세한 내용을 보고 싶다면 누름.)

    책 소개:

    이 책은 컴퓨터 시스템에 대해 다룬 이론서입니다. 컴퓨터 시스템의 기초적이고 전반적인 내용을 학습할 수 있도록 구성했습니다.

    쪽수: 1024쪽

    목차:

    저자 서문
    저자 소개
    역자 서문
    
    1 컴퓨터 시스템으로의 여행
    
    Part 1 프로그램의 구조와 실행
    2 정보의 표현과 처리
    3 프로그램의 기계수준 표현
    4 프로세서 구조
    5 프로그램 성능 최적화하기
    6 메모리 계층구조
    
    Part 2 시스템에서 프로그램의 실행
    7 링커
    8 예외적인 제어흐름
    9 가상메모리
    
    Part 3 프로그램들 간의 상호작용과 통신
    10 시스템 수준 입출력
    11 네트워크 프로그래밍
    12 동시성 프로그래밍
    
    부록 A 오류 처리
    참고 문헌
    찾아보기 
    



    응용 프로그래머들에게 꼭 필요한 책으로, 컴퓨터의 동작 원리를 C언어를 활용하면서 배울 수 있다.

    1.4.2 비트 다루기 - 해커의 기쁨(Hacker's Delight)

    C언어는 많은 운영체제에나 임베디드에서 사용되고 있다.
    그런데 임베디드 같은 경우는 조금이라도 성능을 내기 위하여 비트단위로 조작하는 경우가 생기게 된다.
    임베디드쪽으로 가고 싶거나 논리회로를 공부할때 도움을 받고 싶은 사람은 해커의 기쁨(Hacker's Delight)을 봐보자.


    책정보(자세한 내용을 보고 싶다면 누름.)

    책 소개:

    『해커의 기쁨』은 프로그래밍 핵(hack)들의 모음집이다.
    프로그래머가 효율적인 소프트웨어를 만드는 데 도움이 되기 위해 시간 절약 기법, 알고리즘, 요령 들을 수록하였다. 이번 판에서는 순환중복 검사, 오류 보정 부호, 몫을 구하지 않고 나머지를 계산하는 방법, 배열 개체수, 압축과 확장을 위한 새 알고리즘, 부동소수점과 정수의 상호 변환 등을 새롭게 실었다.

    쪽수: 576쪽

    목차:

    Chapter 1 소개 / 1
    1-1 표기법 1
    1-2 명령 집합과 실행 시간 모형 6
    
    Chapter 2 기초 / 13
    2-1 제일 오른쪽 비트 다루기 13
    2-2 논리 연산과 결합된 덧셈 19
    2-3 논리식과 산술식의 부등 21
    2-4 절댓값 함수 22
    2-5 두 정수의 평균 22
    2-6 부호 확장 23
    2-7 부호 없는 오른쪽 자리이동으로 부호 있는 오른쪽 자리이동 구현 24
    2-8 부호 함수 25
    2-9 세 값 비교 함수 25
    2-10 부호 전달 함수 26
    2-11 “0은 2**n을 뜻함” 필드의 복호화 27
    2-12 비교 술어 27
    2-13 넘침 검출 33
    2-14 더하기, 빼기, 곱하기 결과의 조건 부호 43
    2-15 순환 자리이동 44
    2-16 두 배 길이 더하기·빼기 명령 45
    2-17 두 배 길이 자리이동 46
    2-18 다중 바이트 덧셈, 뺄셈, 절댓값 47
    2-19 차 또는 0(doz), 최댓값(max), 최솟값(min) 49
    2-20 레지스터 교환 54
    2-21 둘 이상의 값들을 교대로 설정 57
    2-22 부울 분해 공식 60
    2-23 열여섯 가지 이항 부울 연산을 모두 구현하는 명령들 62
    
    Chapter 3 2의 거듭제곱 경계들 / 69
    3-1 알려진 2의 거듭제곱의 배수로 반올림·반내림 69
    3-2 그다음 2의 거듭제곱으로의 반올림·반내림 70
    3-3 2의 거듭제곱 경계 횡단 검출 73
    
    Chapter 4 산술 경계 / 77
    4-1 정수 경계 점검 77
    4-2 더하기와 빼기를 통한 경계 전파 80
    4-3 논리 연산을 통한 경계 전파 84
    
    Chapter 5 비트 개수 세기 / 91
    5-1 값이 1인 비트 세기 91
    5-2 패리티 108
    5-3 선행 0 개수 세기 111
    5-4 후행 0 개수 세기 121
    
    Chapter 6 워드 검색 / 133
    6-1 첫 0-바이트 찾기 133
    6-2 주어진 길이의 첫 1-비트열 찾기 140
    6-3 가장 긴 1-비트열 찾기 143
    6-4 가장 짧은 1-비트열 찾기 145
    
    Chapter 7 비트와 바이트의 재배치 / 149
    7-1 비트, 바이트 뒤집기 149
    7-2 비트 뒤섞기 161
    7-3 비트 행렬의 전치 163
    7-4 압축 또는 일반화된 추출 173
    7-5 확장 또는 일반화된 삽입 180
    7-6 압축과 확장을 위한 하드웨어 알고리즘 181
    7-7 일반적인 치환과 ‘양과 염소’ 연산 186
    7-8 재배치와 색인 변환 191
    7-9 LRU 알고리즘 192
    
    Chapter 8 곱셈 / 197
    8-1 다중워드 곱셈 197
    8-2 64비트 곱의 상위 절반 200
    8-3 부호 있는/없는 상위 곱의 상호 변환 201
    8-4 상수 곱하기 202
    
    Chapter 9 정수 나눗셈 / 207
    9-1 소개 207
    9-2 다중워드 나눗셈 211
    9-3 부호 있는 나눗셈을 이용한 부호 없는 짧은 나눗셈 216
    9-4 부호 없는 긴 나눗셈 219
    9-5 긴 나눗셈을 이용한 이중워드 나눗셈 225
    
    Chapter 10 상수가 제수인 정수 나눗셈 / 233
    10-1 알려진 2의 거듭제곱이 제수인 부호 있는 나눗셈 233
    10-2 알려진 2의 거듭제곱이 제수인 나눗셈의 부호 있는 나머지 구하기 234
    10-3 제수가 2의 거듭제곱이 아닌 부호 있는 나눗셈과 나머지 236
    10-4 제수가 2 이상인 부호 있는 나눗셈 240
    10-5 제수가 -2 이하인 부호 있는 나눗셈 249
    10-6 컴파일러에 통합 251
    10-7 기타 주제들 255
    10-8 부호 없는 나눗셈 259
    10-9 제수가 1 이상인 부호 없는 나눗셈 262
    10-10 컴파일러에 통합(부호 없는 경우) 265
    10-11 기타 주제들(부호 없는 경우) 268
    10-12 법·바닥 나눗셈에 대한 적용 가능성 271
    10-13 비슷한 방법들 271
    10-14 마법의 수들의 예 273
    10-15 간단한 파이썬 코드 274
    10-16 제수가 상수인 완전 나눗셈 274
    10-17 상수로 나눈 나머지가 0인지 점검 283
    10-18 상위 곱하기 명령을 사용하지 않는 방법들 287
    10-19 숫자들의 합산을 통한 나머지 계산 299
    10-20 곱셈과 오른쪽 자리이동을 이용한 나머지 계산 306
    10-21 완전 나눗셈으로의 변환 313
    10-22 시간 측정 315
    10-23 제수가 3인 나눗셈을 위한 회로 316
    
    Chapter 11 기본 함수 몇 가지 / 319
    11-1 정수 제곱근 319
    11-2 정수 세제곱근 328
    11-3 정수 거듭제곱 329
    11-4 정수 로그 332
    
    Chapter 12 색다른 기수의 수체계 / 341
    12-1 기수 -2 341
    12-2 기수 -1 + i 수체계 349
    12-3 기타 기수들 352
    12-4 가장 효율적인 기수는? 353
    
    Chapter 13 그레이 부호 / 355
    13-1 그레이 부호 355
    13-2 그레이 부호화 정수의 증가 358
    13-3 음이진 그레이 부호 360
    13-4 간략한 역사 및 응용 360
    
    Chapter 14 순환 중복 검사(CRC) / 365
    14-1 소개 365
    14-2 이론 367
    14-3 실제 응용 370
    
    Chapter 15 오류 보정 부호 / 379
    15-1 소개 379
    15-2 해밍 부호 380
    15-3 정보 비트 32개용 SEC-DED를 위한 소프트웨어 386
    15-4 오류 보정에 대한 좀 더 일반적인 고찰 392
    
    Chapter 16 힐베르트 곡선 / 405
    16-1 힐베르트 곡선의 생성을 위한 재귀적 알고리즘 406
    16-2 힐베르트 곡선을 따라 이동한 거리에 따른 좌표 계산 410
    16-3 힐베르트 곡선의 한 점까지의 거리 417
    16-4 힐베르트 곡선에서의 좌표 증가 419
    16-5 비재귀적 생성 알고리즘 422
    16-6 그 외의 공간 채움 곡선 423
    16-7 응용 424
    
    Chapter 17 부동소수점 / 427
    17-1 IEEE 형식 428
    17-2 부동소수점-정수 상호 변환 430
    17-3 정수 연산을 이용한 부동소수점 수들의 비교 434
    17-4 제곱근의 역수 근사 루틴 436
    17-5 선행 숫자들의 분포 439
    17-6 그 외의 여러 값들 441
    
    Chapter 18 소수를 위한 공식들 / 445
    18-1 소개 445
    18-2 윌런스의 공식 448
    18-3 워멜의 공식 452
    18-4 그 밖의 어려운 함수에 대한 공식들 453
    
    연습문제 해답 461
    
    부록 A 4비트 컴퓨터를 위한 산술 연산표 517
    부록 B 뉴턴의 반복법 523
    부록 C 이산 함수 그래프 모음 527
    C-1 정수에 대한 논리 연산들의 그래프 527
    C-2 덧셈, 뺄셈, 곱셈 그래프 529
    C-3 나눗셈 관련 함수들의 그래프 531
    C-4 압축, SAG, 왼쪽 순환 자리이동 함수의 그래프 533
    C-5 몇 가지 단항 함수들의 그래프 534
    
    참고문헌 539
    찾아보기 548 
    

    1.5 요약

    C 기초 플러스나 KnK는 입문시 꼭 보고, C 포인터의 이해와 활용은 포인터 파트를 하거나 입문서를 끝내고 나서 읽으면 좋다.
    그리고 컴퓨터 시스템의 경우 위의 2책을 본다음 보면 적당한다고 생각한다.
    여기까지가 일반 CS 전공자들에게 추천하는 루트.(C언어 펀더멘탈과 C 함정과 실수는 구할 수 있으면 보시고 해커의 기쁨도 한번 쯤 봐도 좋다.)


    댓글

Designed by black7375.