(Updated November 24, 2021) Overview This section is a collection of some of the well-known undefined behaviors. This is not an exhaustive list and is intended to provide the learner with situations they may encounter when programming in C. The ISO/IEC 9899:2018 standard states undefined behavior through the document. The purpose of this is to … Read More “Appendix B – Undefined Behavior” »
Category: C book
(Updated March 25, 2020) Table of standard headers files as defined by the many C standards that have been released. <assert.h> Conditionally compiled macro that compares its argument to zero <complex.h> (since C99) Complex number arithmetic <ctype.h> Functions to determine the type contained in character data <errno.h> Macros reporting error conditions <fenv.h> (since C99) Floating-point … Read More “Appendix A – C Header Files” »
Updated March 26, 2023 Overview This chapter will cover POSIX Threads (pthreads) and the C11 thread standard. This is primarily because the C11 Thread standard is still not widely supported across all platforms, compilers, and C runtime libraries. Version Has threads.h? MSVC – NO Apple clang – NO GNU-gcc – YES (as a wrapper around … Read More “Chapter 14 – Threads” »
(Updated April 1, 2023) Table of contents Overview The Basics An Example Different Types of Recursion Another Example The Cost Memoization Exercises Overview We have previously determined that we often need to do some work while some condition exists or until some condition is met. This has always been handled using an iterative process, which … Read More “Chapter 9 – Recursion” »
(Updated May 9, 2023) Table of contents Overview Structures Enumerations Unions typedef Quiz Exercises Overview As C is a primitive system-level language, it makes sense that you will have practically nothing but primitive tools. From there, you can create so much more. The details in this chapter delve into the preparation for dealing with more … Read More “Chapter 8 – Structures, Enumerations and Unions” »
(Updated May 19, 2023) Table of contents Overview Arrays Pointers Dynamic Arrays, Initialization and length Variable Length Arrays (VLAs) Array Processing Copying Arrays Arrays of Objects Variable Length Parameter List Two-Dimensional Arrays Review Summing Arrays Managing Arrays Quiz Exercises Overview In the past, when calculating an average, we could sum up values entered by the … Read More “Chapter 7 – Arrays and Pointers” »