Welcome to ##C on Freenode
We discuss all aspects of programming in C.
C1x was adopted. All hail ISO/IEC 9899:2011!
The Standard is available; it makes sense for a professional C programmer to have it at their side, and can be cheap enough for even a student or hobbyist.
C++ and C# are off-topic. Come on, they aren't C.
Related channels exist to cover things in more detail, are topical for your discussion or as an alternative, e.g., ##c++, ##csharp, #editor-wars, #emacs, #posix, #sockets, #tcpip, #vile, #vim, #workingset, #wxwidgets, #xemacs and #Xlib.
Why we get peeved -- bofh
Per the (then new(er)) Freenode policy we are in ##c. See the discussion page for some of the history.
There is also a page on religion in C.
Our channel topic was huge, hence the birth of this site. Here is the original:
- PASTE more than 3 lines to http://codepad.org/ -- see also PasteScripts
- INTRO: http://www.iota-six.co.uk/c/01_intro.htm (dead link, see below)
- FAQ: http://www.c-faq.com/top.html
- NETWORKING: http://beej.us/guide/bgnet/
- IPC: http://beej.us/guide/bgipc/
- GDB: http://www.unknownroad.com/rtfm/gdbtut/gdbtoc.html
- GDB: http://www.cs.princeton.edu/~benjasik/gdb/gdbtut.html (dead link, archived here)
- GCC: http://www.osborne.com/products/0072224053/0072224053_ch01.pdf
- SUSv4: http://www.unix.org/version4/
- UNIX FAQ: http://www.faqs.org/faqs/unix-faq/programmer/faq/
- FloatingPoint: http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html
- OOP: http://www6.uniovi.es/cscene/CS1/CS1-02.html
A number of people have commented that the INTRO link is of poor quality (and it's dead now) so we are looking for a replacement. Alternates so far:
- GNU C Programming Tutorial: http://crasseux.com/books/ctutorial/
- Steve Holmes (ex-Uni Strathclyde), C Programming: http://www.strath.ac.uk/IT/Docs/Ccourse/
- C Programming class notes: http://www.eskimo.com/~scs/cclass/cclass.html
- An Introduction to C: http://cprog.tomsweb.net/cintro.html
- More C Programming class notes: http://www.plover.com/misc/c/110/
- Programming in C, UNIX System Calls and Subroutines using C: http://www.cs.cf.ac.uk/Dave/C/CE.html
- Standard C does not know nor care about colors, mice, windows, keyboards, networks or any other system specific things. If you want help with something like that, you would (hint) want to tell us what OS, compiler, tools or libraries you are or intend to use/abuse.
--Provided by pragma_ from author unknown
- Books, including K&R and TAOCP
- Code Snippets for common topics/problems
- C gotchas C_gotchas things that trip up beginning programmers
- Software, including compilers, IDE's, tools and utilities
- Usenet, including groups and notables
- Web resources, including C of Peril and reference sites
Stuff that should be avoided
- Books written by Herb Schildt.
It's not that we hate Herb, the problem is that his prose is easy to read but his knowledge of C is limited. See http://www.lysator.liu.se/c/schildt.html and/or http://www.seebs.net/c/c_tcn4e.html.
- C Tutorial: http://gokmen.selcuk.edu.tr/tutor/progdil/c/
Several channel regulars have declared this horrible.
- C Tutorial: http://computer.howstuffworks.com/c.htm/printable
Another horrible one....
- Books written by Yashwant Kanetkar including Let US C, Working with C and Data structure through C. The problem with his books is that, though easy to read, they contain a lot of factual errors. They do not address the fact that certain aspects of C are implementation dependent.
- Teach Yourself C in 24 Hours: http://aelinik.free.fr/c/index.html
It's difficult to find a page without an error....
- C For Dummies: Same as above.
- C Language Course: http://www.studytonight.com/c/
Same as above.
- Learn C The Hard Way by Zed A. Shaw: http://c.learncodethehardway.org/book/
Too many factual problems and a presentation that gets you to do things wrongly before being shown how to do it correctly, and not even always then.
- candide, has detailed manpage summaries, C faq searcher, C compiler, quotes sections of C standard, Google search and quite a bit more.
The wiki admins should be able to help with any issues, including creating accounts for those that wish to contribute.