Tell me more ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I have programmed in Java, PHP, C# and a little bit in C in an OS course I have taken recently in college. For all of these languages, I've found decent documentation except C. I couldn't find a good source for it.

Any thoughts ?

share|improve this question
2  
What source did you find and what made it not "good"? Please be specific, otherwise this is too vague to answer. – S.Lott Jan 27 '11 at 20:41
11  
C and C++ are different languages. Which one are you looking for docs for? – Anna Lear Jan 27 '11 at 20:42
3  
Despite for their syntactical similarities (C is, syntactically, mostly a subset of C++), C and C++ are actually very different languages, with different, in fact: often opposite, idioms and conventions. You need to decide which one you want to learn, and you need to adapt your answer to tell us. Meanwhile, it's a -1 from me for that faux pas. – sbi Jan 27 '11 at 22:09
1  
There is a C/C++ language. It doesn't have an official standard, but there's a lot of code written in it :-( – dan04 Jan 28 '11 at 0:46
1  
@Ahmad: C++ started as C with objects bolted on, and has since evolved to become a much different language. However, since both of those are ISO standards, there is no official references other than those Standards, and you almost certainly wouldn't find them useful. – David Thornley Jan 28 '11 at 14:34
show 7 more comments

5 Answers

If we're talking about pure C, then I like this C Reference. There are tons of books on C, as well as Internet resources.

share|improve this answer
Your reference is to cplusplus.com, which doesn't look to be a good C reference. – David Thornley Jan 27 '11 at 22:14
It has the C Library page though, which is enough for pure C. If you're using other libraries, you should definitely check their references. And language as such...well you know it, don't you? – Sorantis Jan 27 '11 at 22:28

For the C and C++ languages themselves plus the standard libraries, there are many books and online references. The language standards also work decently (if you can decipher standardese) as stdlib references.

If you're on *nix or Windows with cygwin, man pages are very useful for the C stdlib.

share|improve this answer

My favorite C reference is C: A Reference Manual, 5th edition, by Sam Harbison and Guy Steele. It's up-to-date with the C99 standard (K&R2 isn't), it's mostly correct (a shocking number of C books are full of basic errors), and it covers C++ compatibility issues.

By itself, it's not a good resource for learning C, but it makes a great companion reference to whatever introductory material you find.

The final word is the language standard, the latest working draft of which is found here. Again, it's not a great resource for someone just starting out, but it's something you should have bookmarked if you work in C regularly.

share|improve this answer

Ok, going to take a stab at this, although I'll agree it's a little vague...

Having taught an intro class in C and an intro class in C++ (years ago at a community college) I did see a lot of people who where new to programming be extremely put off by reference books on the subject (either language). Keep in mind this was 1998-2002. The majority of the reference assumed programming experience in other languages. Add the following:

  • reference books tend to assume knowledge of the subject to higher degree than introductory books.
  • there are a lot of frameworks and API's for different C & C++ flavors.

What I found helped students new to the subject (most of mine had VB and FORTRAN experience) was that (forgive me with this) but the C++ For Dummies book did a good (some said great) job at explaining the subject. I am in no way affiliated w/ the book publisher. If this is more of what you meant, perhaps a book similar would be helpful.

share|improve this answer
There's a lot of C90 code floating around, so your experience is relevant there, but the understanding of C++ has changed dramatically since 2002. I'd rather see a recommendation from somebody with more recent experience. – David Thornley Jan 27 '11 at 22:16

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.