터보C정복 한달만에 '정복'하기 - 2009/02/09 16:48

오늘의 주제는 시간이 흘러도 변함없는 C 프로그램 참고서적의 대명사 '터보C정복' 을 정복하기 이다.

앞에 책은 터보이빨이라는 필명으로 명성이 자자 했었던 임인건씨의 작품이다.


제목을 써놓고 보니, 자극적인 표현인데.
어쨋든 전달하려고 하는 의도는 분명하니 그냥 놔두기로 하였다.


임베디드시스템 소프트웨어 개발중 C프로그램 서적으로 두권 정도가 필수서적이라고 생각되는데

그 하나는 linked list 외 기타 '알고리즘을 다룬책' 하나, 그리고 바로 이 책 '터보C정복' 이다.

지금부터 이 책을 요리해 보도록 하자.
아는 사람은 이미 알고 있겠지만 이 책은 페이지수가 무려 1300쪽에 달한다.


다음은 본 책자의 챕터 구성이다.
1장. 터보 C 통합개발환경
2장. 변수, 상수, 데이터형
3장. 배열, #define문, 문자열과 기본 문자 입출력 함수
4장. 터보C의 연산자와 수식
5장. 제어문과 루프
6장. 함수
7장. 기억부류
8장. 수학함수와 그래픽 함수
9장. 전처리기와 매크로 함수
10장. 배열과 포인터 I
11장. 배열과 포인터 II
12장. 배열과 포인터 III
13장. 문자 입출력 함수
14장. 비디오 함수와 문자열 함수
15장. 구조체 I
16장. 구조체 II
17장. 그래픽 함수 II
18장. 그래픽 함수 III
19장. 고수준 화일 입출력 함수 I
20장. 고수준 화일 입출력 함수 II
 
나는 이 책을 크게 네가지 부류로 다음과 같이 재구성 해 보았다.
C에서 가장 어렵고, 중요한 테마를 프로그래머들에게 물어보면 대부분 각각 포인터와 구조체를 이야기 한다.
 
자료형
2장, 3장, 4장, 5장, 6장, 7장, 9장
포인터
10장, 11장, 12장
구조체
15장, 16장
파일I/O
13장, 19장, 20장
 
자 그럼 제목처럼 한달안에 어떻게 이 책을 주파 하느냐고?. 워워워 지금부터 자세히 이야기 할테니 좀 진정하도록 하자.
위의 분야 각각을 일주일에 소화한다. 그것도 무슨 방법이냐고 얘기하는 사람도 있을게다.

나는 본 칼럼을 읽는 여러분이 적어도 C언어기초플러스 알파 책(예전 성안당출판사 이던가? 아마?)과 같은 초급 C문법서류 정도는 이미 몇번 정도 봐서 C의 문법 정도는 보면 이해를 할 수 있는 수준이라고 가정하고 이 글을 쓰고 있다.
 
그럼 위의 구성을 순서대로 설명해보도록 하겠다.
먼저, (1)자료형에 대해서다.
우리는 C관련 책을 보면서 보통 서적의 앞부분에 배치된 데이타 형 CHAPTER 에 대해서는 그 위치적(?) 특성 때문에 자주 그리고 여러번 내용을 보게 되었다.


터보C정복의 2장~9장 다소 많아 보이는 페이지 수에 겁먹을 필요없다. 정리한다는 마음으로, 정독하지 말고 술술술 읽어 나가라. 본인이 특별히 중요하다고 생각되는 내용을 형광펜으로 표기를 하던가 혹은 별지에 적든지 하면서... 이것도 귀찮으면 물론 안해도 무방하다.


다른 얘기를 잠깐 하나 하자면, 필자의 경우 자료형은 C언어를 처음 접하면서 대수롭지 않게 취급해 오다가 언제부터인가 그 중요성에 대해서 다시금 새기게 되었는데 다시말하자면 함수의 이름규칙및 내용을 잘 구성하는것도 중요하겠지만 자료형(구조)을 명확하게 그리고 고민하여 설계하는 것이 전자(함수)의 경우보다 훨씬 중요함을 생각하게 되었다.

어쨋든, 일주일이면 충분히 2장~9장 내용을 모두 볼 수 있을 것이다. 그러고도 아마 시간이 남은 사람이 있을지도.


다음은 (2)포인터 이다. 가장 이해하기가 어렵다고 학습하는 이들 사이에 얘기가 오고 가는 것이기도 하다.
이에 과연 그런가에 대해서는 필자의 칼럼 '어셈블리어 과연 어렵기만 한 것인가?' 편을 참조하라.


터보C정복의 백미를 꼽으라고 하면 많은이들이 '포인터편'을 이야기 한다. 그만큼 자세히 그리고 심도있게 해당 주제를 설명하고 있다.
단일포인터, 이중포인터, 삼중포인터에 다차원포인터까지... 본 분야는 자세하게 정독하라. 특히 늘상 사용되는 단일, 이중포인터에 집중할 필요가 있다.


(3)구조체는 프로그램을 풍부하게 하고 C프로그램을 그럴듯하게 만들어 준다.
구조체의 문법은 1페이지 밖에 안된다. 본 편에서는 구조체를 어떻게 만들고 사용하고 있는지를 유심히 보는것이 중요하겠다.
마지막으로는 모든 프로그램의 약방의 감초격으로 사용되며 추후 디바이스 드라이버 개념을 잡기 위해 꼭 필요한 (4)파일I/O 이다.
항상 사용될 기술이니 그 사용법을 구조체편 과 마찬가지로 눈여겨 봐 두길 바란다.
 
어떤가?, 지금도 본 칼럼의 제목이 허황된 것처럼 느껴지는가.
필자가 예전에 신입사원들을 대상으로 지도해 본 바로는 이것은 실제로 가능한 것이었다.
 
본 칼럼은 이제 다음의 글로 마무리 하도록 한다.

임베디드 시스템 개발에는 대개 화려하고 복잡한 프로그램 기술이 사용되기 보다는 단순하고 최적화된 것을 주로 다루며 또 중요하게 취급한다.

한편, 임베디드시스템 소프트웨어 개발에서는 개발자가 섭렵 하여야 할 것이 상당하다. 프로그램 언어(C, 어셈블리)는 물론이고 각종 데이터시트, 회로도, 마이크로프로세서 분석, 컴파일러&툴, 각종 프로토콜 혹은 표준규격, SDK라이브러리, 디버깅메써드


이러한 이유로 C언어 관련해서는 서두에 언급한 것처럼 두권 정도만 보면 된다고 설명하였다. 이에 오해가 없기를 바란다.
따라서, 마지막으로 본 칼럼의 제목은 '임베디드 시스템에서 다시 보는 C언어' 정도로 재 명명 할련다.
 
-홍익컴닷컴-
http://www.hongikcom.com

♡ 포스팅이 유익 하셨다면 E-mail로 가일의 임베디드 스쿨을 구독하세요->

Trackback Address :: http://www.hongikcom.com/trackback/10 관련글 쓰기
Name
Password
Homepage
Secret
< PREV |  1  |  ...  119  |  120  |  121  |  122  |  123  |  124  |  125  |  126  |  127  |  ...  131  |  NEXT >