C언어 고급 책으로는 무엇이 좋을까요?

geekforum의 이미지

지금 전산과 2학년인 학생입니다.
C언에 기본적인것은 할줄아는데 고급을 위해 추천해주실만한 책이 있으신지요?
지금 어드밴스드 프로그래밍 인 유닉스 엔바료~먼트 ^^ 보고 있는데....뭐 다른것 추천해주실것 없으신지요.....아님 레퍼런스북이나 사서 혼자 프로그래밍하는게 좋을까요? -_-;;;;

지금 어줍지않게 알게되어서 갈피를 못잡고 있습니다.
전에는 하나도 모르니 무턱대고 부딛혀가면서 알아볼려고 했는데 이제는 쪼금 안다고 깝죽대면서 방황하고 있습니다 T_T;;;

방학동안 아르바이트를 할려고해도 마땅이 할것도 없더군요.... 자바도 조금 C도 조금,php도 조금 mysql도 조금,기계어도 조금,네트워크도 조금 (끄어...제대로 하는거 한개도 없군 -_-;;;;좌절좌절~)

그래서 전산회사에 무료봉사 비슷하게(-_-;;)일한다고 이력서 돌릴까도 생각중입니다.(이력도 없군-_-;;)

글을쓰다보니 완전 인생상담비슷하게 되었군요....
학교에만 있다보니 밖에 사정을 모르는 우물안 개구리가 된것같아서요....

좋은답변 바랍니다 T_T;

댓글

익명 사용자의 이미지

중급을 넘어섰다면 자신이 관심 가질만한 분야의
간단한 소스를 구해서 그대로 한번 더 타이핑 복사를
하면서 구조와 흐름이라는 측면에서 분석합니다.
전체적인 상황이 감이 오면
그 소스를 모두 지우고 자신이 그플밍을 직접
자신의 힘으로 짠뒤 고수의 소스와 자신이 짠 소스를
비교해보면 자신의 결점과 보강할점을 빠르게
알수가 있습니다.

익명 사용자의 이미지

웅...언어는 언어로 이해하는게 최고죠
책보단...차라리..잘짜인 소스 하나다 더 도움이 되실듯....~...--;.....순전히 개인적인 생각인데...아래분이 말씀하신 비쥬얼 계열로의 전환은 개인적으로 받대입니다...순수C와 assem의 조화보다..더 완벽한건 아직 경험해 보지 못했습니다.
개인적으로 생각하기엔...아무리 마도의 잡다한 마공을 잊혀도...순수 정종심공을 따라 갈순 없다고 생각합니다. 비쥬얼계열의 언어는 프로그래머를 굉장히 나태하게 만드는듯.....--;
쩝...일단 주절 거려 봤습니다.....아궁...

익명 사용자의 이미지

지금까지의 프로그래밍 경험으로
비주얼 계열로 나가시는게 어떻겠어요?

C는 포인터로 컴퓨터를 두부 주무르듯이
(어셈블러보다는 약한것 같지만..)
재밌게 굴릴 수 있는 언어이지만요...그만큼 위험부담도 따르고(CompileTime Error를 모두 없앴다고 해도 RunTime Error의 근원은 언제나 포인터 곳곳에 도사리고 있다고 해도 과언이 아니니까요. 3,4중 포인터를 갖고 놀아봤는데요 재미는 있더군여...근데.. 이게 완전히 럭비공이에요..제가 실력이 딸려서인지는 모르지만) 그래픽 사용환경에서 C로는 무리가 가지 않습니까...

C 등등의 지식을 기반으로 C++을 사용한 윈도우 프로그래밍에 도전해보시는 것이 가장 좋을듯 합니다.

구조적인 C 프로그래밍에서
이벤트중심의 C++ 윈도우프로그래밍을 시작했을 때
정말이지 돌아버리도록 헤멘 기억이 아직도 선명합니다...(고급PL배울때두 돌아버리는 줄 알았지요... scheme 이라는 언어 5줄 짜는게 왜그리도 고통스러웠는지... 사고의 전환만 했어도 조금은 쉬워졌을텐데 말입니다)

하여튼 힘내세요.. 저두 어리버리 조금씩 밖에 모르지만(프로그램 언어라는 건 다 건드러봐서 할줄은 아는데 막상 뭔가 하려면 큰 벽에 부닥치는듯한 느낌...말이죠.) 그걸 기초삼아 무언가 하기 시작하면 의외의 성취감도 만끽할 수 있거든요.. ^^;

익명 사용자의 이미지

언어를 책 한권으로 모든 걸 배울순 없지요.
제 생각에는 어느정도 언어가 익수 해 졌다면 이제부터 작은 플밍을 해 보는 것이 발전속도가 빠르다고 봅니다.
그리고 C에 익수하다면 c++로 전향하는 것이 좋다고 봅니다. C는 구조적 플밍언어 입니다. 여기에 너무 익수하면 나중에 객체지향 플밍에서 혼선이 올수 있으니 전향을 생각해 보십이 어떨지.
자료구조와 알고리즘을 공부하는 것이 좋구요 특히 전산과라니. 네트웍크 같은 특정분야에 관심을 가지고 파보면 재미있을 겁니다.

익명 사용자의 이미지

제 생각엔...

저는 아직 전산학과 학생도 아니고(하지만 대학은 꼭 전산과에 가겠음)C언어를 아주 잘하는 것도 아니지만... 우리 사부님(?)말씀을 들어 보면 \"A Book on C\' 이거하고 데니스 리치가 쓴 \"C언어 프로그래밍\'이게 좋다던데요?

저도 역시 그걸로 공부했고...^^

그게 제일 나은 거 같아요. 아무래도 우리나라 책보다는 원서(혹은 잘된 번역본)이 좋으니까요....^^

익명 사용자의 이미지

최고의 소스는...
/usr/src/linux
아래에 모두 있습니당
-_-;
C++ 이 아님에도 거의 완벽한 캡슐화(?)...
아주 잘 구성된 소스 트리...
큰 맘 먹고, 볼 만 합니다
운영체제에 관한 책 한권정도 보신 후에
보시면, 좋겠져...
거기다 IA 프로그래밍 가이드 같은것도 한번 훑어보신 후라면... 금상첨화겠져...

익명 사용자의 이미지

C로 어떻게 OO를 구현하는지 보고싶다면,
GTK+를 보세요~~

bsheep의 이미지

책에 집중하지 마세요.
어떤 분들은 코드를 닥치는데로 외우면 된다고
하지만.. -_-;;; 그리 암기 잘하면 고시보는게
더 낫겠져?..

제가 추천하는건 님께서 특정 프로젝트를
만들거나 참여하여 c/c++ 프로그램을 하시는
것입니다. 그러다보면 알게 모르게 책 3,4권은
독파하셨을것입니다.... :)

구지 c/c++의 바이블이 필요없지요.

iron의 이미지

ls 같은 것들의 소스는 어떤지요.

전산과 2학년 마칠때쯤 됐으면,

자료구조나 알고리즘등은 당연히 보셨겟구...

기본적인 유틸들에도 재미있는 소스들이 많습니다.

기본적인 것을 벗어나면 끝도 없죠.

저는 기회가 나면 emacs 랑 gcc 를 들여다 보구 싶군요...

그럼..

logout_의 이미지

책은 잘 찾아 보시는 것 같구요. 자료구조나
열심히 하세요. 숙제 많이 나오고 출석 체크 안하고
시험 안치는 자료구조 수업이 프로그래밍 감을
잡는데는 최고인 것 같습니다. :)

프로그래밍은 이론과 실제가 잘 맞아 떨어져야
합니다. 저도 하수이기는 하지만... 그러나 우선은
이론을 먼저 하시는 걸 추천합니다. 삽질은
언제든지 할 수 있거든요. :) 이론에 약간 중점을
두면서 실습을 할 수 있는 최고의 환경이 자료구조
수업 듣기인 것 같습니다.

익명 사용자의 이미지

우선 이런 답장을 쓰는 것에 대해서 좀 이상한 ..

음 뭐랄까. 님의 마지막 글에 있는 \"우물안의

개구리\" 라는 문구가 눈에 들어 와서 몇자 끄적여(?)

봅니다..

사실, 우리나라의 프로그래머는 춥고, 배고프고,

잠오고, 돈(?)을 그 다지 많이 벌지 못하는 직종이라

저는 생각해요..(향후 저의 2세대 부터는 좀 달라

지겠죠.. 우리나라도 선진국(?)으로 가지 말라는 법은

없으니깐)....

예를 들면.. 똑 같은 A/S 기사가 있는데..

컴퓨터기사는 쓰윽하고 나타나서 키보드 몇번

톡.톡.톡 몇번 타이핑하고 A/S 청구하면

소비자 입장에서는 \'이게 뭐야!\' 하구,

세탁기 A/S 기사는 세탁기 뒤집어서 모터 빼구,

벨트 빼고, 기타 등등 땀 뻘뻘 흘리고, 또는

벨트 갈구(결코 세탁기 기사가 하위 직종이라는

이야기가 아닙니다. 오해 마시길. 우리나라 사람

인식이 그렇다는 이야기입니다. )하고 나서

A/S비용 청구하면 바로 지불하죠..

이러한 \'무\'에 대한 금전적인 가치를 부정하는

사회관에서 프로그래머라는 직종은 아주 힘들죠..

저두 프로그램 및 network 구축으로 하루하루

먹고 살고 있지만. 어떤때는 입에서 욕도 나오고

그래요.. 그렇다고 전산개론, 네트워크 개론까지

설명해 줄수도 없는 거고.. 완존히 미치죠..

그리고, 이런 이야기까지 하면 좀 그렇지만..

차라리 완전히 모르는 소비자는 좀 나아요..

반쪽 짜리 지식이라 들어 보셨는지요.. 우리나라

속담에도 있잖아요.. \"선 무당이 사람잡는다..-_-;;\"

아마 이쪽 계통을 업으로 살고 계신 분은 공감하실

거에요.. 이럴때는 돌아버립니다..

대부분 프로그래머로써의 대열에 들어섰을때는

꿈도 있고 희망도 있죠(물론 저도 그러했어요..-_-;;)

그러나 현실이.. 흠흠.. 음냐.. 음냐..

너무.. 비관적인 내용만 적어서 조금 그렇네요..

그래도.. 지금 이시간에도 자신만의 알고리즘을

만들기 위해서 열심히 노력하는 분들이 있기에

프로그램이 끊이 없이 나오는것이랑 생각해요..

\"우리는 밤을 지양하고 낮은 바란다\"

(어디서 많이 봤던 문구죠.. 아시는 분은 ...)

슬슬 저두. 코딩해야 할 시간이 가까워 지군요.. 흐흐

오늘도 한줄 코드에 부끄럼 없이 열심히 하렵니다.

PS1. 만약 부산분이면 연락주세요

무보수(?)일할 곳 많습니다.. -_-a

PS2. 딴지(?) 거실분은 메일로...-_-;;;

왜냐... \'무\'(한자 모름)에서 \'유\'(이걱도 모름...)를

창조하는 것이기 때문에..

익명 사용자의 이미지

고급이라고 하면 영어책에 큰 부담 없다는 가정아래에서.....

The C Programming Language를 다시한번 꼼꼼히 보시고...
C Traps and Pitfalls
by Andrew Koenig 와
Peter van der Linden의 Expert C Programming
을보면 대충 C에 대해서는 끝날듯 싶네요

익명 사용자의 이미지

혹시 레퍼런스북 추천해주실만한거 있으신지요? ^^;

익명 사용자의 이미지

맞아요. 중급까지 오셨다면 이제는 유명해커들의 소스를 분석하시면 됩니다. 혹시 알고리즘도 끝내셨나요?

익명 사용자의 이미지

아네....알고리즘은 소팅,링크드리스트,큐정도는 만들줄 아는데 보니깐 라이브러리 함수로 있더군요(퀵소트의경우 -_-;;)
음... 유명해커의 소스라.... -_-;; 우선 영어가 문제군요.....하도 한국어 웹사이트에 익숙해져서 외국웹에들어가면 눈이 핑핑도는군요 -_-; 끄어~
음....제가 리눅스 0.01인가? 커널을 봤는데 생각했던거와는 달리 거의 선언으로 시작해서 선언으로 끝나더군요...-.- 보통사람들이 말하는 몇만줄짜리 코드는 이런식인지요?
제가 상상하기로는 여기저기 쓩쓩 날라다니면서 감탄한만한 알고리즘으로 도배가 되어있는걸로 상상했거든요 -_-;;;;;;

익명 사용자의 이미지

보통 서적에 보면 초급자용, 중급자용 이란 것들은 있어도 고급 서적은 없는걸로 압니다.
아마 중급까지는 서적으로 이룰순 있지만 진정한 고급은 책이 아닌 자기 스스로만이 할 수 있다는
뜻이겠지요.
그냥 주저리 주저리 였습니다.

익명 사용자의 이미지

정말 동감하는 글입니다.. ^^

rainlood의 이미지

해커들의 고급 소스들이 널렸으니
관심있는 것을 받아서 공부하면 괜찮죠.
문서도 많고요.
그놈 개발자 사이트를 추천해드리죠.
http://developer.gnome.org/

찾아보면 많습니다.
너무 많아 감당이 안됩니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.