background preloader

C

Facebook Twitter

Head First C. Beginning C for Arduino. Beginning C, 5th Edition. C in a Nutshell. Learn C on the Mac, 2nd Edition. C Programming for Arduino. Using C on the UNIX System. The New C Standard: a free download. Updated Jun 09 Version 1.2 has been released. The 10.5M pdf can be downloaded from here. The Shape of Code blog contains observations on the shape of code, plus some thoughts and musings on why this shape occurs.

Major changes Over 35 new references, mostly to papers published since the last version was published (Jan 08). What's available As well as providing a pdf of the complete book "The New C Standard: An Economic and Cultural Commentary", for free, various material has been extracted to create pdfs of specialist subsections and subjects. The Standard C sentences only (in Google searchable html form) are available here along with site specific Google search and a Firefox plugin. Bugs that have been found in the previous version and corrected in the next release can be found here (last updated 24 Jun 2009).

WG14/N1256 can be found here. Articles based on the book Short term memory (its CiteSeer entry). General article on coding guidelines. The ACCU 2004 Memory Experiment web page is here. The C Book. Oriented Object C. Learn C The Hard Way. TONC. Essential C. Deep C. C Programming. Build Your Own Lisp. Chapter 1 • Introduction About Who this is for Why learn C How to learn C Why build a Lisp Your own Lisp Chapter 2 • Installation Setup Text Editor Compiler Hello World Compilation Errors Documentation Chapter 3 • Basics Overview Programs Variables Function Declarations Structure Declarations Pointers Strings Conditionals Loops Chapter 4 • An Interactive Prompt Read, Evaluate, Print An Interactive Prompt Compilation Editing input The C Preprocessor Chapter 5 • Languages What is a Programming Language?

Chapter 6 • Parsing Polish Notation Regular Expressions Installing mpc Polish Notation Grammar Parsing User Input Chapter 7 • Evaluation Trees Recursion Evaluation Printing Chapter 8 • Error Handling Crashes Lisp Value Enumerations Lisp Value Functions Evaluating Errors Plumbing Chapter 9 • S-Expressions Lists and Lisps Types of List Pointers The Stack & The Heap Parsing Expressions Expression Structure Constructors & Destructors Reading Expressions Printing Expressions Evaluating Expressions Credits. Beej's Guide to Network Programming. Using Internet Sockets Brian "Beej Jorgensen" Hall beej@beej.us Version 3.0.15 July 3, 2012 Copyright © 2012 Brian "Beej Jorgensen" Hall Contents 1. Intro 1.1. 1.2. 1.3. 1.4. 1.5. 1.6. 1.7. 1.8. 1.9. 2. 2.1. 2.2. 3. 3.1. 3.2. 3.3. s 3.4. 4. 5.1. getaddrinfo()—Prepare to launch! 5.2. socket()—Get the File Descriptor!

5.3. bind()—What port am I on? 5.4. connect()—Hey, you! 5.5. listen()—Will somebody please call me? 5.6. accept()—"Thank you for calling port 3490. " 5.7. send() and recv()—Talk to me, baby! 5.8. sendto() and recvfrom()—Talk to me, DGRAM-style 5.9. close() and shutdown()—Get outta my face! 5.10. getpeername()—Who are you?

5.11. gethostname()—Who am I? 6. 6.1. 6.2. 6.3. 7. 7.1. 7.2. select()—Synchronous I/O Multiplexing 7.3. 7.4. 7.5. 7.6. 8. 9.1. accept() 9.2. bind() 9.3. connect() 9.4. close() 9.5. getaddrinfo(), freeaddrinfo(), gai_strerror() 9.6. gethostname() 9.7. gethostbyname(), gethostbyaddr() 9.8. getnameinfo() 9.9. getpeername() 9.10. errno 9.11. fcntl() 9.12. htons(), htonl(), ntohs(), ntohl() Beej's Guide to C Programming. Brian "Beej" Hall beej@beej.us Revision alpha-25 May 17, 2007 Copyright © 2007 Brian "Beej" Hall Contents 1. Foreward 1.1. Audience 1.2. 1.3. 1.4. 1.5. 1.6. 1.7. 1.8. 2. 2.1. 2.2. 2.3. 2.4. 3. 3.1. 3.2. 3.3. 3.4. 4. 5.1. 5.2. 6. 6.1. 6.2. 7. 7.1. 7.2. 7.3. 7.4. 8. 8.1. 8.2. 9. 9.1. 10. 11.1. malloc() 11.2. free() 11.3. realloc() 11.4. calloc() 12. 12.1. 12.2. typedef 12.4. 12.5. 12.6. 12.7. 12.8. 12.9. pointers 12.10. pointers 12.11. 12.12. 12.13. 12.14. 12.15. 12.16. 13. 13.1. fopen() 13.2. freopen() 13.3. fclose() 13.4. printf(), fprintf() 13.5. scanf(), fscanf() 13.6. gets(), fgets() 13.7. getc(), fgetc(), getchar() 13.8. puts(), fputs() 13.9. putc(), fputc(), putchar() 13.10. fseek(), rewind() 13.11. ftell() 13.12. fgetpos(), fsetpos() 13.13. ungetc() 13.14. fread() 13.15. fwrite() 13.16. feof(), ferror(), clearerr() 13.17. perror() 13.18. remove() 13.19. rename() 13.20. tmpfile() 13.21. tmpnam() 13.22. setbuf(), setvbuf() 13.23. fflush() 14. 14.1. strlen() 14.2. strcmp(), strncmp() 14.3. strcat(), strncat() 15. 16. 1.

Advanced Linux Programming. A Tutorial on Pointers and Arrays in C.