C 기반 언어인 JAVA와 C#이 등장하고, C 대체 언어인 C++과 Perl이 등장했지만 여전히 C는 강력하게 쓰이고 있다. 

그리고 C 또한 시간이 지나며 바뀌어야 했다. 그렇게 C99이 등장하게 된다.

다음은 KNK 2nd Edition의 특징이다.

1. C89 표준과 C99 표준을 동시에 완벽하게 커버한다.

2. C89와 C99 라이브러리 기능을 모두 포함시켰다.

3. GCC의 적용범위를 확대했다.

4. 추상 데이터형을 새로 적용했다.

5. 국제 문자의 적용범위를 확대했다.

6. 오늘날의 CPU와 운영체제를 반영하여 업데이트했다.

7. 더 많은 예제와 프로그래밍 프로젝트를 추가했다.

8. 선별된 예제와 프로그래밍 프로젝트에 대한 솔루션을 넣었다.

9. 강사를 위한 웹사이트를 만들었다.

다음은 KNK 2nd Edition의 목표이다.

1. 더 명확하고, 가독성있고, 가능한한 재미있게

2. 남녀노소 접근하기 쉽게

3. 현학적이지 않고, 권위있게

4. 쉬운 학습을 위한 구성

5. 언어가 가진 특징에 빠질 수 있게

6. 강조된 스타일

7. 특정 기계, 컴파일러, 운영체제의 의존을 배제

8. 키워드-개념을 이해하기 위한 삽화 사용

부제인 A Modern ApproachModern이 무엇을 의미하는가?

1. C의 관점에서 바라본다.

2. C의 표준 버전을 강조한다.

3. 미신을 폭로한다.

4. 소프트웨어 엔지니어링을 강조한다.

5. C의 로우레벨 특징을 20장 이후에 설명한다. (몰라도 다양한 분야에서 C가 쓰일수 있기에)

6. 수동 최적화를 강조하지 않는다.

이 책은 네가지 파트로 나눠져있다.

1. Basic Features of C 1-10장에서는 독자가 배열과 함수를 이용해 싱글파일 프로그램을 만들수 있게 만든다.

2. Advanced Features of C 11-20장에서는 이전 챕터에서의 지식을 쌓아 올린다. 개념들이 이번 장에서는 약간 더 어려워지고, 특히 포인터, 문자열, 전처리기, 구조체, 공용체, 열거형, 그리고 C의 low-level적 특징들에 대해 깊게 배운다.

3. The Standard C Library 21-27장에서는 모든 컴파일러에서 사용가능한 C라이브러리를 주로 다룬다. 이번 장은 강의용에 적합한 양이지만 참조용으로 쓰일것이다. (양은 많지만, 필요할때만 참고해서 쓸것 같다는 뜻)

4. Reference 부록 A에서는 C연산자의 모든 목록을 보여준다. 부록 B에서는 C99와 C89의 주요 차이점을 묘사했다. 부록 C에서는 C89와 K&R C의 차이점을 보여준다. 부록 D에서는 C89와 C99의 모든 표준라이브러리를 알파벳순으로 정렬했다. 부록 E는 아스키문자 표를 나열했다. 

본격적인 C공부는 1-20장을 순서대로 공부하고, 21-27의 내용을 추가적으로 공부를 해야한다. (특히 22장에서는 입력/출력이 나오는데 21-27장 중에서 가장 중요한 내용이다.)

야매로 공부하려면 8.3(가변길이배열), 9.6(재귀), 12.4(포인터와 다차원배열), 12.5(포인터와 가변길이배열), 14.5(기타 지침), 17.7(함수 포인터), 17.8(restrict 포인터), 17.9(가변길이구조체배열), 18.6(인라인 함수), 19(프로그램 디자인), 20.2(구조체에서의 비트필드), 20.3(기타 low-level 테크닉) 을 빼고 공부하면 된다.

 

 

하지만, 제대로 공부하기 위해서는 모두 공부하자.

'C언어' 카테고리의 다른 글

BRIEF CONTENTS  (0) 2020.12.21
C언어 정리 포스팅  (0) 2020.12.21

목차는 다음과 같다.

  • 1.1 History of C
    • Origins
    • Standardization
    • C-Based Languages
  • 1.2 Strengths and Weaknesses of C
    • Strengths
    • Weaknesses
    • Effective Use of C

단 6페이지 안에 들어있는 내용들이다. 

아직 읽어보기 전이지만, 제목으로부터 배울 점을 파악할 수 있다. C의 역사와, C의 장단점을 배울 것이다.

책을 읽기전, C의 역사에 대해서 생각해보자. 언제 만들어졌을까? 누가 만들었을까? 어디서, 왜, 어떻게 만들었을까? C 이전에 나왔던 언어가 있을까? 만약 있다면 어떤 언어를 썼을까?

C의 장단점에 대해서 생각해보자. 어떤 언어와 비교해야할까? C의 목적성이 장점과 연결되어 있을 것이라고 추측한다. C가 소홀히 여기는 부분은 어떤 부분일까? C의 단점이 장점을 받쳐주기 위해 어쩔수 없이 나오는 단점일까?

이런 질문들을 가지고 책을 읽어볼 예정이다. 

  • BRIEF CONTENTS 요약
  • PREFACE 서론
  • Basic Features of C
    • Introducing C                                  C에 대한 소개
    • C Fundamentals                               C의 기본
    • Formatted INPUT/OUTPUT                 정형화된 입력/출력
    • Expressions                                     표현식
    • Selection Statements                         선택문
    • Loops                                            반복문
    • Basic Types                                     기본형
    • Arrays                                            배열
    • Functions                                        함수
    • Program Organization                       프로그램 구성
  • Advanced Features of C
    • Pointers                                        포인터
    • Pointers and Arrays                          포인터와 배열
    • Strings                                          문자열
    • The Preprocessor                            전처리기
    • Writing Large Programs                    대형 프로그램 작성
    • Structures, Unions, and Enumerations 구조체, 공용체, 열거형
    • Advanced uses of Pointers              포인터의 고급 사용
    • Declarations                                선언
    • Program Design                          프로그램 디자인
    • Low-Level Programming              로우레벨 프로그래밍
  • The Standard C Library
    • The Standard Library                    표준 라이브러리
    • Input/Output                            입력/출력
    • Library Support for Numbers and Character Data 숫자와 문자 데이터를 위한 라이브러리
    • Error Handling                          에러처리
    • International Features                비영어권 특징
    • Miscellaneous Library Functions  다양한 라이브러리 기능
    • Additional C99 Support for Mathematics 수학을 위한 C99의 추가적인 기능
  • Reference
    • C Operators                          C연산자
    • C99 versus C89                      C99 vs. C89
    • C89 versus K&R C                  C89 vs. K&R C
    • Standard Library Functions      표준 라이브러리 기능
    • ASCII Character Set              아스키 문자표
    • Bibliography                        참고문헌
    • Index                                색인

이 책의 구성은 크게 3가지(부록 제외)로 되어있다.

C의 기본, C의 고급 기능, 그리고 표준 C 라이브러리이다. 

볼드체로 대단원을 표시해 두었고, 각 중단원 마다 포스팅을 하면서 소단원 목차를 표시할 것이다.

'C언어' 카테고리의 다른 글

PREFACE  (0) 2020.12.21
C언어 정리 포스팅  (0) 2020.12.21

포스팅의 내용은 K.N.KING의 C Programming 2nd Edition을 기반으로 작성합니다.

'C언어' 카테고리의 다른 글

PREFACE  (0) 2020.12.21
BRIEF CONTENTS  (0) 2020.12.21

+ Recent posts