WHY, HOW, WHERE 중심의 C 프로그래밍 이야기
컴퓨터 공학 전공자나 C 언어 심화 학습을 원하는 이공계 전공자를 위한 책입니다. 왜 그렇게 되는지, 어떻게 쓰이는지를 강조하기 때문에 기본 원리를 충실히 이해할 수 있습니다. 아울러 어디에 응용되는지를 설명하기 때문에 다른 컴퓨터 과목과의 연관성을 이해할 수 있습니다. 일반 C 언어 책에 비해 비교적 높은 수준의 내용이지만 다양한 그림과 예시를 통해 쉽게 이해할 수 있습니다.
특징
· 배경 지식(1~3장)
1장은 C 언어의 특성 및 컴파일러 사용법에 대해, 2장은 컴퓨터 내부의 데이터 표현 방법에 대해, 3장은 가장 기본적인 컴퓨터 연산에 대해 설명합니다.
· 함수 소개(4장)
4장은 프로그램의 기본 단위인 함수를 정의하는 방법을 설명합니다. 함수에 관한 구체적인 내용은 8장에 설명되어 있지만, 이를 미리 소개하는 이유는 그래야 선택 구조와 반복 구조를 수월하게 설명할 수 있기 때문입니다.
· 선택 구조와 반복 구조(5~6장)
모든 알고리즘의 기본 틀은 선택 구조와 반복 구조입니다. 5장은 if 문과 switch 문을 중심으로 선택 구조를 설명합니다. 6장은 while 문과 for 문을 중심으로 반복 구조를 설명합니다.
· 디버깅(7장)
오류의 원인을 찾아내는 것은 프로그래머에게 요구되는 필수 능력입니다. 7장은 DEBUG 상수, assert 함수, Visual C 디버거를 중심으로 디버깅 방법을 설명합니다.
· 함수 작동 원리(8장)
8장은 함수 호출 시에 일어나는 일을 설명합니다. 스택 메모리를 관리하는 방식을 이해함으로써 변수의 영역과 수명, 값 호출과 참조 호출, 재귀 호출에 대해 심도 있게 이해할 수 있습니다.
· 배열과 포인터(9~11장)
배열과 포인터는 분리하기 어려운 주제이기 때문에 어느 것을 먼저 설명하더라도 무리가 갑니다. 일단 9장에서 간략하게 배열을 소개하고 그것을 바탕으로 10장에서 포인터를 설명합니다. 최종적으로 11장에서 포인터와 배열 사이의 관계를 설명합니다.
· 문자열, 구조체, 파일 입출력(12~14장)
12장에서 배열로서의 문자열을 설명하고 이어 배열 크기를 초과하는 데 따른 컴퓨터 보안 문제를 설명합니다1. 3장에서 집합 자료형으로서의 구조체를 설명하고, 14장에서 외부 파일에 읽고 쓰는 방법을 설명합니다.
· 범용 프로그래밍(15장)
15장은 하나의 자료형을 여러 응용 프로그램에 두루 적용할 수 있는 방법인 추상 자료형에 관해 설명합니다.