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
  • 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 :)

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  :)
What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.


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

Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

Join & Write a Comment

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…
Summary: This tutorial covers some basics of pointer, pointer arithmetic and function pointer. What is a pointer: A pointer is a variable which holds an address. This address might be address of another variable/address of devices/address of fu…
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 while-loops in the C programming language.

757 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

Need Help in Real-Time?

Connect with top rated Experts

23 Experts available now in Live!

Get 1:1 Help Now