Learning advanced C.....

Posted on 1998-09-12
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
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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

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 :)
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.


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
Read lots of other people's code.  Criticise it.  Fix bugs in it.
Use 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 (


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 50 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

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Have you thought about creating an iPhone application (app), but didn't even know where to get started? Here's how: ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ Important pre-programming comments: I’ve never tri…
This tutorial is posted by Aaron Wojnowski, administrator at  To view more iPhone tutorials, visit This is a very simple tutorial on finding the user's current location easily. In this tutorial, you will learn ho…
The goal of this video is to provide viewers with basic examples to understand and use structures in the C programming language.
Video by: Grant
The goal of this video is to provide viewers with basic examples to understand and use nested-loops in the C programming language.
Suggested Courses

632 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