디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

어떡해 일기 #18 :: C언어를 해야하는 이유

어떡해갤로그로 이동합니다. 2009.12.28 22:37:18
조회 1137 추천 0 댓글 36


어떡해 일기는 제가 \'쓸만한 프로그래머\'가 되기까지의 하루하루를 기록해 나갈 것입니다.
이것은 제가 그날 하루동안 프로그래머가 되기 위해 노력한 사항과 에피소드를 만천하에 공개하여,
저 스스로 나태해지지 않도록 채찍질 하기 위함과 동시에 선배님들에게 조언을 구하고자 함입니다.
자유분방한 DC에서 올라가는 글인 만큼 그날의 기분에 따라 존칭, 돌연 막말 등 일관성 없는 말투가 있을 수 있습니다.

길다는 의견이 많아 앞으로는 되도록 일기를 짧게 쓰도록 합니다.
더 많은 형들과 이야기를 공유하기 위해서입니다.

+++++++++++++++++++++++
현재 사용중인 교재+++++++++++++++++++++++++++++

주교재 : 세계제일 C 언어 시작하기(베스트북)
교양 교재 : 생각하는 프로그래밍(인사이트)

3주차 : C언어 기초 정리 및 자료구조 습득

==========================================시작

프로젝트도 파토났겠다.
열혈강의 C에서 배운 내용을 정리하는 시간을 가졌습니다.
저번 프로젝트에서 부족한 면을 많이 깨달았기 때문에 다시 한번 기초를 돌아보는 시간을 갖기로 한거죠.
처음에는 열혈강의C를 다시보고 예제를 풀고 있었습니다.
이미 한번 풀었던 문제임에도 신기하게도 몇시간을 투자해도 잘 안풀리는 문제가 있는가하면,
예전에 했던것이 생각나서 슥슥 풀리는 문제도 있더군요.

결국 열혈강의 책 조차도 겉핥기로 공부가 되었다는 뜻이겠죠.
그나마 처음 C를 접했을 때와는 달리 문법적 오류도 적고 문제를 대하는 데에 있어서
차분하게 머리속으로 어떤 식으로 구현해야하는지 떠오르는 것은 장족의 발전이라 할 수 있었습니다.

다만, 열혈강의 C를 다시한번 끝내고 나서 마지막으로 다른 종류의 C 책을 보기로 했습니다.
본래라면 바로 자료구조로 넘어가기로 되어 있었지만, 열혈강의 C 이외에 다른 관점에서 보는 초보자용 C언어를 알고 싶었습니다.
만약 전혀 다른 출판사의 전혀 다른 저자가 쓴 C언어 교재를 수월하게 이해할 수 있다면.
C언어에 대해서 기초는 잡혔다고 판단할 수 있겠다고 생각했거든요.

선택한 책은 세계제일 C언어 시작하기라는 베스트북의 책이었습니다.
집에 있더군요. 아마도 프로그래밍이 하고 싶어서 충동적으로 산 책중 하나일겁니다.
이때까지만 해도 몰랐죠. 이 책을 펼치는 순간 8시간동안 이 책에서 손을 뗄 수 없을 거라는 사실을 ㄱ-;

첫페이지 펼치자 마자 쇼킹했습니다.
열혈강의 C가 문법적으로 프로그램을 짜는 것을 방법적으로 제시하고 있는 것에 비해서.
세계제일 C언어 시작하기는 C언어의 문법이 가지는 의미, 그리고 메모리상에서 일어나고 있는 일을 상세히 설명해주고 있더군요;

우연찮게 책을 잡는 순서를 잘 잡은거 같았습니다.
만약 열혈강의를 보기전에 이 책을 봤더면, 이게 뭔소린지 몰라서 집어던졌을 책이었겠지만,
우습게도 열혈강의를 본 시점에서 이 책을 보니, 열혈강의에서 놓쳤던 점을 참 많이 알게 되더군요.

가령.... 열혈강의 C에서는 int 자료형이 메모리상 4byte를 차지하고 과거 터보 c의 경우 2byte를 차지하는 이유는
컴파일러의 차이라고 짧막하게 이야기합니다.

그런데 이 녀석은 컴파일러의 차이라기 보다는, 터보c가 구현될때의 환경 즉, 당시 주력 컴퓨터가 16bit 였고, 32bit로 넘어오는 과정에서 일어난
메모리 관리 체계의 차이라는 점을 서술해 놨더군요. 가령 16bit 컴퓨터의 경우 cpu가 한번에 처리할 수 있는 데이터량, 즉 word의 크기가
2byte(8bit*2=16비트), 그리고 현재 제가 컴파일하는 32bit 환경의 경우 word의 크기는 4byte가 되는거죠.
int는 컴파일상에서 기본형으로 연산을 수행하니 당연히 word에 영향을 받게 되고 거기에 따라서 int의 데이터 크기가 정해지는 거였습니다.
따라서 기본 환경이 64bit로 완전히 전환되면 컴파일러 상의 int는 4byte가 아닌 8byte가 될 수 있는 가능성을 보여줍니다.
때문에 결국 컴파일러의 문제라기 보다는 사용하는 시스템의 환경이 중요한 요인이 된 것이죠.
이에 8bit와 16bit로 넘어오게 되면서 메모리상의 관리 변화도 거론을 하더군요.
세그먼트:오프셋.
비트를 구현하게 되었을 때는 하위 비트 그리고 상위비트 순으로 구현.
재미있게도 제가 왜 늅늅들이 C언어로 프로그래밍을 시작해야하는지, 그리고 C언어 가치와 활용. 포인터의 역할이 얼마나 중요한지를
열혈강의 보다는 이 책에서 배운 것 같습니다.
이 책에 비교하면 열혈강의는 아무래도 C++이나 다른 언어로 넘어가기 위한 과정으로서 C언어를 배운다는 느낌으로 서술한 책인것 같습니다.
물론 완전초보용 책은 아니네요.
(이 책이 500페이지를 조금 넘기는데 포인터가 80페이지에 거론되고 있습니다. C와 포인터는 뗄레야 뗄수 없다는 서술을 하고 있기 때문이죠.)

이책을 훑어보다시피 공부를 하면서 느낀 것은.
C로 프로그래밍을 시작해야하는 이유가, C언어가 가진 언어적 특성이 JAVA나 C++ 을 포함한 대부분의 언어를 활용하는 데에 있어
기초적인 부분들을 모두 익힐 수 있다는데에 있는것 같았습니다.

머리로는 알고 있었지만, 실제로 이런식으로 뒤통수를 맞으니까 확실히 와닿네요.
그리고 알면 알수록 내용이 깊어집니다.
정말 공부하면 할수록 두근두근함이 멈추질 않는데, 한편으로는 끝이 없는 공부가 될 것 같아서 걱정도 앞서네요.
하지만, 당분간 기초가 생길때까지 C언어를 파고 들고 싶습니다.
돈이 안되는 언어를 잡고 있다는 생각을 하실수도 있지만, 정말 이녀석을 어느정도 활용할 줄 알고 이해하면
다른 언어를 다룸에 있어 정말 이해력이 빨라질 것 같습니다.

어?

오늘 길군요 ㅋ

아직 공부가 끝나지 않았습니다. 조금 강행군을 해볼까 합니다 ㅋ

그럼 횽들 수고하세용.


오늘 일기 끄 ㅌ








추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 외모와 달리 술 일절 못 마셔 가장 의외인 스타는? 운영자 24/07/01 - -
165183 포토샵 잘하는 분 [5] 우즈마키날우토갤로그로 이동합니다. 10.01.04 95 0
165182 프로그래머 남자친구 [8] ff(116.45) 10.01.04 776 0
165181 나이들어서 회사에서 무시당하더라도... 물속의다이아갤로그로 이동합니다. 10.01.04 196 0
165180 한글이라는게 참 오묘하구나. [3] 어떡해갤로그로 이동합니다. 10.01.04 134 0
165179 html 태그 관련 질문 [2] 초보(118.217) 10.01.04 75 0
165178 아 어느놈이 나 사칭하면서 다녀..... [5] ∫ 2t dt=t²+c갤로그로 이동합니다. 10.01.04 179 0
165177 double형에 대해 질문이요 [2] ㄴㅇㄹ(121.151) 10.01.04 67 0
165176 방금 맞고 첬는데 2000점이 고스톱으로 가능한 점순가요??? [2] 노소프소갤로그로 이동합니다. 10.01.04 186 0
165175 오랜만에 와서 프갤아싸가 글쌈미다 [2] ㅇㄴㅣㅏ갤로그로 이동합니다. 10.01.04 75 0
165174 형들 진짜 미안한데 고민해도 답이 안나와. 질문하나만 ㅠㅠ [6] 형들아(220.73) 10.01.04 102 0
165173 궁금한게 생겼어 [2] 궁금이(76.94) 10.01.04 73 0
165172 너님 뻘글 쌀 시간에 책한줄 더 봤으면 벌써 한 세권은 봤겠다 ㅡ.ㅡ [2] 카이신갤로그로 이동합니다. 10.01.04 99 0
165170 적분이는 봄미다. [6] ∫ 2t dt=t²+c[F]갤로그로 이동합니다. 10.01.04 158 0
165169 마음이 답답하군 가난한플머(121.139) 10.01.04 66 0
165167 마음이 허전하군 가난한플머(121.139) 10.01.04 79 0
165166 박대기 [3] ㅇㅇㅃ갤로그로 이동합니다. 10.01.04 102 0
165165 마음이 쓸쓸하군 [1] 가난한플머(121.139) 10.01.04 73 0
165164 마음이 공허하군. [3] 가난한플머(121.139) 10.01.04 94 0
165163 좀 있으면 산요 작티 캠이 올텐데... [4] 오사카(221.153) 10.01.04 76 0
165162 ibatis 트랜젝션 질문 [3] usoo0갤로그로 이동합니다. 10.01.04 72 0
165160 법사들은 하나씩 장만해라. [4] rntjr갤로그로 이동합니다. 10.01.04 233 0
165159 제가 오늘 학원을 알아봤어요. [3] ㅁㄵ(218.154) 10.01.04 131 0
165157 반지원정대 하산 후 막걸리 한잔... [5] 물속의다이아갤로그로 이동합니다. 10.01.04 156 0
165155 형들 근데 [1] 체리맛칵테일갤로그로 이동합니다. 10.01.04 50 0
165154 게임 잉여 백수 가슴에 바람넣는 기사 [2] ㅇㅇㅃ갤로그로 이동합니다. 10.01.04 218 0
165153 사람들이 개소리 하는 이유를 알아냈다 [1] ㅇㅇㅃ갤로그로 이동합니다. 10.01.04 118 0
165151 대구 눈 그쳤다 [1] 아주아슬갤로그로 이동합니다. 10.01.04 67 0
165150 아 내가 진짜 승질이 나서 [5] Reina(211.115) 10.01.04 110 0
165149 펄~펄 눈이 [4] 체리맛칵테일갤로그로 이동합니다. 10.01.04 99 0
165146 아이폰 쓸만한 하냐 ? [4] yundream(211.189) 10.01.04 146 0
165145 형들 c에서 이런기능을 하는 함수도 있지않나요?? [17] 카카(218.147) 10.01.04 190 0
165144 형들 양자화분석좀 도와줘~ [2] COM(121.138) 10.01.04 93 0
165143 비주얼스트디오와 비주얼씨의 차이 [7] 퉁퉁퉁갤로그로 이동합니다. 10.01.04 222 0
165142 아이폰 없으면 루저 [1] ㅅㅅ(210.221) 10.01.04 96 0
165139 흉들 도와주셈... 외부아이피(WAN IP)확인하는 방법... C/C++ [6] 퉁퉁퉁갤로그로 이동합니다. 10.01.04 1363 0
165138 아 진짜 진지하게 말하는데 이거 진짜 재난이다 [1] nRST갤로그로 이동합니다. 10.01.04 107 0
165137 개쉛기는 봄.니.다. [11] 물속의다이아갤로그로 이동합니다. 10.01.04 149 0
165136 일부러 연말연초에 글안쌌어 [14] 개쉛기갤로그로 이동합니다. 10.01.04 199 0
165135 가카깨서 폭설 대책을 내놨구나.. 역시 현명하시다 [14] rntjr갤로그로 이동합니다. 10.01.04 252 0
165133 신입사원 면접질문, 뭘 물어봐야 할까 [15] DeCoY갤로그로 이동합니다. 10.01.04 1277 2
165132 지금 눈 안오는 지역도 있음? [2] 아주아슬갤로그로 이동합니다. 10.01.04 101 0
165131 방금 전 정상 도착했다고 하네... [9] 물속의다이아갤로그로 이동합니다. 10.01.04 140 0
165130 재난 영화가 따로 없네 [2] nRST갤로그로 이동합니다. 10.01.04 99 0
165127 비밀번호 유효기간 [3] 에이스1번갤로그로 이동합니다. 10.01.04 98 0
165126 이런 날엔 지각해도 봐주나요? [2] ㅋㅋㅋ(121.141) 10.01.04 109 0
165125 겐가프치 [2] 피로토스갤로그로 이동합니다. 10.01.04 74 0
165124 질문있는데용 [2] 질문(211.219) 10.01.04 51 0
165123 박대기 기자.. ㅠ.ㅠ [3] rntjr갤로그로 이동합니다. 10.01.04 126 0
165122 서울... [2] rntjr갤로그로 이동합니다. 10.01.04 82 0
165121 앞으로 어떻게 살아가야 할까. [2] yundream(211.189) 10.01.04 144 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2