A detailed introduction to the C programming language for experienced programmers.
The world runs on code written in the C programming language, but most computer science programs only teach Java or Python as an introductory language. This book is for developers who already know how to program and want to quickly come up to speed on professional programming in C. They'll learn how to develop correct, portable, professional-quality code and build a foundation for developing security-critical and safety-critical systems.
Written by renowned author Robert Seacord, C as a Second Language is an in-depth look at the C programming language. Seacord introduces the language's basic data types and code structures while simultaneously addressing best practices, common errors, and open debates in the C community. Readers will also learn how to debug, test, and analyze C programs and benefit from detailed yet concise explanations of C language constructs and behaviors
Readers will learn:
• How to identify and handle undefined behavior in a C program
• The range and representations of integers and floating-point values
• How integer promotions are performed and how they may affect portability
• The order of evaluation of expressions
• Dynamic memory allocation including the use of non-standard functions
• The philosophy underlying the use of character types in C
• Character encodings and types
• How to perform input/output (I/O) with terminals and file systems using C Standard Streams and POSIX file descriptors
• The translation phases implemented by the C compiler and the role of the preprocessor
• Testing, debugging, and analyzing C programs
Developed in collaboration with C Standard Committee experts, C as a Second Language will teach developers how to write correct, portable, professional-quality C code.