C is a simple yet powerful multi-purpose programming language that sits at the heart of virtually every computing device imaginable. It offers unparalleled performance and supports the widest breadth of devices and platforms. It is ideally suited to environments with strict, real-time constraints like kernel-mode and in particular to embedded systems programming. Whether you plan on learning C as a foundation for C++ or to prepare yourself for embedded programming, this course will give you a solid foundation and show you that C need not be feared.
Introduction Welcome to the C Programming Language Course on Pluralsight. My name is Kenny Kerr. I live in the Niagara region of Canada where I mostly work on C and C++ on Windows and embedded systems. People joke that C is just for old guys with beards. Well, I'm here to tell you that you don't have to be on old guy with a beard to learn C.
Variables Welcome back to the C programming language course. In this module you are going to learn all about variables. We'll start to sum theory, and then jump right back into the code.
Operators Welcome back to the C programming language course. In this module, you're going to learn all about operators. Operators are all about manipulating values to produce new values or to make decisions. While C only has a small number of data types, it has a large collection of operators providing a solid foundation of mathematical primitives, primarily covering arithmetic and algebra as well as binary manipulation.
Expressions and Statements Welcome back to the C Programming Language course. Most things you write it C are really expressions, form part of expressions or consist of expressions. The operators we learned about in the previous module formed expressions when confirmed with their operands. Expressions are, on their own, however pretty useless. When you actually want to get stuff done, you have to use statements. But as they're so intertwined, I'm going to cover them together in this module.
Pointers and Arrays Welcome back to the C Programming Language Course. Now we come to subject of pointers. Pointers have been given a bad rap and, indeed, used carelessly they are the source of much trouble in computer programming. When used correctly, however, they can be very useful and produce concise and relatively simple code. A good understanding of pointers is essential if you want to write any significant program in C or even C++. Although C++ offers many more facilities for handling pointers safely, pointers are no less important for the eventual use of C++. So even if you are going to progress to C++ as your primary language, a solid understanding of pointers will help you understand how the C++ libraries work and allow you to write more sophisticated programs correctly.
Functions and Structures Welcome back to the C Programming Language course. In this module we're going to round out the C Programming Language by discussing functions and structures without which we can't write a program of any significance. Functions and structures are all about providing some order to a program so that we can reason about it at a higher level of abstraction. Functions let you group code together so that you can think about it as a single operation and structures let you group variables together so that you can think about them as a single object. This is going to be the shortest module in terms of preparatory theory as this course concludes, we're going to spend a lot more time in the demo portion of the module bringing together everything that we have learned thus far.