Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium


Learning advanced C.....

Posted on 1998-09-12
Medium Priority
Last Modified: 2008-02-01
Hi guys,
  I just want some feedback/advice... I hope to be someday be a C 'guru' and right now, my C is quite alright though nothing great. What books do u recommend reading to advance your C to the next level? I would consider myself to be at the intermedite level. I program using Unix platform. An important requirement would be the topics in the book is helpful to real life work requirements. After all, what use is it if I am an expert in some hardly used parts of C such as recursive functions.. ?

Question by:Haho2
  • 3
  • 2
  • 2
  • +1

Expert Comment

ID: 1252667
Recursive function???.... Yeah... thats right :) 1 course of any University (Applied Math or Computer Sciences) :)  Look... C is just a language better than others or not... its doesnt matter :)
but... what is really matter is what You know except the language or tools :) so Your question is what to read... so read N. Wirth "Algorithm, DataStructues, Programs", etc. choose the area that You want to specialize on and read about it... try to learn some other programming languages like LISP or Prolog, that may give some new ideas that You can use in everyday programming in C ;) Meanwhile the most advanced books about C, C++, Pascal, Fortran, etc.. are ANSI standards of those languages... than when You moving to new specific compiler You need just to learn a little bit specifics :)...

And never ever say that You are expert in recursive finction... its sounds  unprofessional :) because recursion is very basic and simple therm ... for anybody who is in this busuness and has a little thoretical background :), like 1 year of university :)
if You need some more help e-mail to ok@netvision.net.il

And dont forget about C++ :) it's great thing ... You'll like it :)

Author Comment

ID: 1252668
thanks xyu,
  I am reopening this question because I want to hear what others have to say (comment if u like )... again thanks for the book recommendation. BTW, I am NOT a expert in recursive functions, I was just trying to prove a point whereby it is no use to be an expert in some rarely used area when real work skills really matter..  :)

David Chong

Expert Comment

ID: 1252669
first of all recursive functions are not rarely used thing :)
second... what is Your background... it may help me to give You more specific advise :)

Good luck :)
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.


Author Comment

ID: 1252670
hi xyu,

  I am using MFC, VB and C in my work. MFC and Vb is on Windows platform wheareas C is on Unix(HP-UX). I find C/C++/MFC very interesting and I would like to emphasis on these languages esp. C cause I will be using it a lot in my upcoming project. I have Richard Stevens 'Network Programming' which is a good book but I am looking for a good advanced level C book.Thanks  :)

Expert Comment

ID: 1252671
Read the comp.lang.c FAQ (or the book, ISBN 0-201-84519-9).
Read the language standard rationale                   
Read the other stuff on http://www.lysator.liu.se/c/index.html.
Read lots of other people's code.  Criticise it.  Fix bugs in it.
Use LCLint (http://www.sds.lcs.mit.edu/lclint/).  Turn on all warning messages.  Decide what they all mean.
Write a program; then make it compile unchanged and work correctly on at least two other compilers (preferably on different systems).
See if you can grok some of the IOCCC entries (http://reality.sgi.com/csp/ioccc/).


Expert Comment

ID: 1252672
When I said "turn on all warning messages", I meant on your compiler, not LCLint.  Perfectly correct programs still generate messages from LCLint unless you specify its --weak option.


Accepted Solution

bernfarr earned 200 total points
ID: 1252673
I think one area that all of us can do better in is advanced data structures and their use. To that end, I'd recommend the book:
  Data Structures and Program Design in C by Robert Kruse

If you're REALLY working on C, you absolutely need the book:
  C: A Reference Manual by Samuel Harbison, Guy Steele
this book is now in its 4th edition. I have all four editions because each one was a very valuable resource. Not a book to learn C from, but something that carefully explains the nuances of parts of the language that may be interpreted differently by different implementors, and also gives a good reference section on the standard C libraries.

After that, as others have said, decide where you want to specialize. Network programming is really hot at the moment, so you may want to consider the book:
  Unix Network Programming by W. Richard Stevens

(it's also got a good intro to Unix in the first few chapters).

If you're considering going into Windows programming, then you really need to learn MFC. Which means you really need to learn C++. For MFC, I'd use:
  Inside Visual C++ by Dave Kruglinski

and for C++, I'd use any of:
  C++ Primer by Stanley B. Lippman
  Effective C++ by Scott D. Meyers
  Advanced C++ Programming Styles and Idioms by James Coplien

Good luck. I've been using C on and off for nearly 18 years and consider myself a reasonable expert. I still get thrown from time to time.

Author Comment

ID: 1252674
Thanks to all esp. bennfar, esp. he listed his favourite books which I think will help me too.. thanks also to xyu and the others...

Featured Post


Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

An Outlet in Cocoa is a persistent reference to a GUI control; it connects a property (a variable) to a control.  For example, it is common to create an Outlet for the text field GUI control and change the text that appears in this field via that Ou…
Preface I don't like visual development tools that are supposed to write a program for me. Even if it is Xcode and I can use Interface Builder. Yes, it is a perfect tool and has helped me a lot, mainly, in the beginning, when my programs were small…
The goal of this video is to provide viewers with basic examples to understand recursion in the C programming language.
Video by: Grant
The goal of this video is to provide viewers with basic examples to understand and use while-loops in the C programming language.
Suggested Courses

564 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question