5.6. The C Programming Language#

The C programming language is a high level statically typed procedural compiled programming language valued for its accessibility to low level computer memory. You have probably already learned the language in a previous course, but this course will utilize some of its advanced features that have probably not been taught in those introductory courses. To make the learning process easier, we recommend reviewing its syntax and concepts. Here are a few:

  • data types and their bits

  • operator precedence

  • control flow (if, for, while, etc)

  • arrays

  • strings

  • pointers

  • dynamic allocation

  • functions

  • preprocessing and compiling

  • glibc (GNU C Library)

  • algorithms and data structures (hash maps, linked lists, etc)

In addition to reviewing the language, we also encourage you to follow some sort of coding style. This website contains the preferred coding style for the Linux kernel. Although not required, adhering to a style will increase productivity so you and whoever else looks at your code will spend less time trying to understand what you wrote.