혼자공부하는C언어 - 때론 혼자 때론 같이

 

혼자공부하는C언어


- 서평시작

“처음 C 언어를 독학할 때 느꼈던 답답합을 생각하여 ‘처음 공부하거나 한 번쯤 실패 한 경험이 있는’ 독자를 기준으로 설명하고자 했다.” - 저자 인터뷰에서

나는 실패한 경험이 있는 걸까?
공부한 적은 있지만 실무 경험은 없다.

- 왜 C언어 인가?


“메모리 관리를 개발자가 직접 해야하는 언어를 공부하면서 실제 OS, HW 레벨에서 메모리 관리하는 법, 포인터 옮기는 법 등을 배우면서 메모리는 이렇게 관리되는구나, 이렇게 하면 메모리 누수가생길 수 있겠구나, 이래서 자바와 C#은 거의 모든게 포인터구나 하는 것을 느껴야한다. 

코딩을 하면서 이 코드는 이렇기 때문에 느릴 수 밖에 없구나(데이터 복사가 많이 일어남, 메모리 해제가 많이 일어남, 메모리 해제를 줄이기 위해선 어떻게 해야할까에 대한 고민 등)라는 생각을 할 수 밖에 없다. 이러한 개념없이 성장하는 개발자와의 성장속도 차이는 엄청날 것이다. ” 

- 포프tv (프로그래머로 살아남기 위해 필요한 언어 둘)  

라는 이야기를 듣고 다시금 C언어를 공부하고 싶어졌다.

그리고 예전에 리뷰했던 [실습과 그림으로 배우는 리눅스 구조] 책에서 나온 예제코드 중 잘 이해되지 않는 부분이 있어서 그렇기도 하다. 이책을 읽고 다시 복습할 예정이다.

- 캐릭터 


졸라맨 비슷한 캐릭터. 은근히 귀엽다.

- 포인터 포인터


책을 받고, 처음 페이지를 펼친곳은 9장 포인터 부분이다.
누구나가 이야기 한다. C언어는 포인터를 알면 끝이라고. 다만 어려울 뿐.
9장을 읽고15장 응용포인터 까지 단숨에 읽었는데, 의외로 쉽게 이해가 되어 놀라웠다. 물론 C언어를 공부한적도 있었지만, 하도 고리적의 이야기이고 포인터는 그냥 어려워 이렇게만 생각하고 있었는데 읽어가면서 별것 없네 라고 생각하고 있었다. 사실 개념 자체야 단순한 것이다. 그리고 “혼자공부하는C언어” 책은 단순하지만 복잡한 개념을 참 친절히도 잘 설명해 주고 있다.

- 친절한 설명과 그림의 예시


저자의 설명이 돋보이는게 이중 포인터를 설명할 때 의 그림을 보면 인터넷에서 이중포인터라고 검색했을 때 나오는 다른 설명들과 많이 비교가 된다.

이중포인터


- IF GOTO


“이런 의문이 든다면 9장을 다시 한번 살펴보고 오길 권합니다.” - p.421
공부를 하다보면 앞장 에서 진행했던 내용이 기억이 안나거나, 현재 장에서 나온 내용에 대해서 어디서 나왔는지 다시 한번 확인할 필요가 있는 경우가 있다. 

물론 이를 위해서 인덱스가 있는 것이지만 저자가 친절하게 이런식으로 어디를 다시 보고 오라 던지, 아니면 “미리 말해두자면, 13장을 학습하려면 함수와 포인터에 대한 이해가 있어야해” 하는 식으로 친절하게 설명하는 부분이 많다. 작은 배려가 돋보인다.

- 헷갈릴 땐 그림으로


“헷갈릴 때는 직접 그림으로 그려보는 것도 좋은 방법이야” - p.436

고리타분한 이야기 같긴 하지만, 처음 C언어를 배울 때 는 책상위에 컴퓨터를 놓고 실습하지 않고, 노트에 코드를 적고 결과를 예측 하는 식으로 공부 했었다. 반복문등이 나올 때면 디버거를 실행하는 것 처럼 각 변수들의 값을 표를 그려가며 적었다.

실제로 처음 공부하면서 헷갈릴 때에는 이런식으로 그림 혹은 표를 그려가며 공부하는 방법은 여러가지로 도움이 된다. 코드만 딱 입력해놓고 왜 이게 이렇게 되지 라고 이해 하지 못하면 공부하는 의미가 없다.

배열이나 포인터를 설명할 때에도 눈에 보이지 않는 메모리 영역을 그림으로 알아보기 쉽게 표현해주셔서 오랜만에 보는데도 쉽게 이해할 수 있었다.

-  디버깅에 대한 자세한 설명이 있었으면 어땠을까?


다만 초보자를 위해 아쉬운 점이 있다면 디버깅을 단순이 구문오류 있는 곳을 더블클릭하면 오류난 곳으로 커서가 이동하는 것이라고 설명하는것 말고 - p.015, 반복문 등을 설명하면서 VS의 강력한 디버깅기능을 사용하는 방법에 대해서 간단하게 나마 설명하는 곳이 있었으면 어땠을까 싶다. 물론 툴소개를 하는 책은 아니다.

-  서평끝


고리타분한 C책만 봤었는데,  이렇게 산뜻하고 친절한 C책도 있다.
다음번에 나오는 책은 혼자 공부하는 C 자료구조 였으면 좋겠다.

사족으로, 카페에서 혼공씨 자료구조라고 되어있는 게시글을 읽어 봤는데
단순히 구현만 있는 소스여서 약간 실망했다.

+ Recent posts