연습문제 0 설정하기
연습문제 1 간만에 써보는 컴파일러
연습문제 2 Makefile 사용법
연습문제 3 서식 있는 출력
연습문제 4 디버거 사용
연습문제 5 C 연산자 외우기
연습문제 6 C 문법 외우기
연습문제 7 변수와 타입
연습문제 8 If, Else-If, Else
연습문제 9 While 루프와 Boolean 표현식
연습문제 10 Switch 명령문
연습문제 11 배열과 문자열
연습문제 12 크기와 배열
연습문제 13 For 루프와 문자열 배열
연습문제 14 함수 작성 및 사용
연습문제 15 포인터, 무서운 포인터
연습문제 16 구조체와 이를 가리키는 포인터
연습문제 17 힙·스택 메모리 할당
연습문제 18 함수를 가리키는 포인터
연습문제 19 제드의 끝내주는 디버그 매크로
연습문제 20 고급 디버깅 기술
연습문제 21 고급 데이터 타입과 흐름 제어
연습문제 22 스택, 범위, 전역
연습문제 23 더프의 장치 알고리즘
연습문제 24 입력, 출력, 파일
연습문제 25 가변 인수 함수
연습문제 26 logfind 프로젝트
연습문제 27 창의적 프로그래밍, 방어적 프로그래밍
연습문제 28 중급 Makefile
연습문제 29 라이브러리와 링크
연습문제 30 테스트 자동화
연습문제 31 일반적인 미정의 동작
연습문제 32 이중 연결 리스트
연습문제 33 연결 리스트 알고리즘
연습문제 34 동적 배열
연습문제 35 정렬과 탐색
연습문제 36 더 안전한 문자열
연습문제 37 해시맵
연습문제 38 해시맵 알고리즘
연습문제 39 문자열 알고리즘
연습문제 40 이진 탐색 트리
연습문제 41 devpkg 프로젝트
연습문제 42 스택과 큐
연습문제 43 간단한 통계 엔진
연습문제 44 원형 버퍼
연습문제 45 간단한 TCP/IP 클라이언트
연습문제 46 3진 탐색 트리
연습문제 47 빠른 URL 라우터
연습문제 48 간단한 네트워크 서버
연습문제 49 통계 서버
연습문제 50 통계
만들고 부수면서 배우는 견고한 C 언어 프로그래밍
프로그래밍 언어의 대명사인 C. 누구나 C를 알고 있지만, 나온 지 40년이 넘어서 현재의 기술 수준에 맞지 않고 배우기 어려운 언어라고 생각하는 경우가 많다. 새로운 언어가 쏟아져 나오는 지금의 개발환경에서 왜 C를 공부해야 하는 걸까? C로 안전하고 견고한 프로그래밍할 수 있다면 어떤 언어로도 프로그래밍할 수 있기 때문이다. C를 통해 더 훌륭한 프로그래머가 될 수 있다!
『깐깐하게 배우는 C』에서는 52개의 연습문제를 통해 C 언어를 익힐 수 있도록 한다. 먼저 이 책에 있는 코드를 그대로 입력하고(복사 및 붙여넣기 절대 금지! 실수를 수정한 다음, 프로그램이 어떻게 실행되는지 본다. 이러한 과정을 통해 더 효과적으로 코드를 생각하고, 더 효율적으로 실수를 찾고 수정하는 방법을 배우게 되며, C 언어를 현대적 감각으로 습득하게 될 것이다. 가장 중요한 점은 엄격한 방어적 프로그래밍 기법을 마스터해서 어떤 프로그래밍 언어를 사용하든지 악성 활동이나 결함으로부터 자신을 보호하는 소프트웨어를 만들 수 있다는 것이다. 아울러, 실용적인 프로젝트를 통해 여러분이 익힌 새로운 기술에 대해 확신을 얻게 될 것이다.
이 책에서 다루는 내용
C 언어 환경 설정
기본 구문 및 관용구
컴파일, make 파일, 링커
연산자, 변수, 데이터 타입
프로그램 제어
배열 및 문자열
함수, 포인터, 구조체
메모리 할당
I/O 및 파일
라이브러리
연결 리스트, 정렬, 검색을 포함하는 자료구조
스택 및 큐
디버깅, 방어적 코딩, 테스트 자동화
스택 오버플로, 잘못된 메모리 접근 등
C 코드 파괴 및 해