
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Learn the C programming language through variables, structures, unions, functions, and pointers, and build a book library project to practice adding and removing books.
Learn all about variables and how to use them
Learn how multi-dimensional arrays form a 20 by 20 map to store bytes, access coordinates like map[0][0], and represent x and y coordinates using ascii values.
Learn to read a name and age from the keyboard on Windows via scanf, pass addresses with ampersands, differentiate arrays from variables, and guard memory with basic input safety.
Every C object has a memory address; use ampersand and dereferencing to access and modify values, including arrays and pointers to pointers, while respecting stack scope safety.
Explore function pointers by creating pointers to functions, pointing to void and int return functions, and calling them through the pointer using the address of the function.
Explore the C preprocessor, a compile-time language built into C, showing how #ifdef and #define control compilation through macro replacements and kernel-version compile-time checks.
Explain header files and object files, exporting prototypes and structures to share functionality, use include guards to prevent multiple definitions, and illustrate compiling and linking to resolve functions across files.
Explore if statements in C, using == for comparisons, else if and else branches, and the distinction between expressions and statements, including nonzero truth and the not operator.
Learn to use C operators, including comparison operators (>, <, >=, <=, ==, !=) and arithmetic operators (+, -, *, /, %). Combine conditions with logical operators like &&.
Explore legacy C practices, including top-of-scope variable declarations, how new scopes affect for loops and if statements, and use of C11 to access modern features.
Explore nesting statements in C programming on Windows, including nested if statements and loops, and learn to validate data with early returns to keep code clean.
Explore global variables declared outside a scope and accessed across functions, how local variables and scopes shadow outer variables with same name, and why leaving a scope yields undefined behavior.
Learn how external variables work by declaring a global variable as external, producing an undefined reference until you define it in another file's object file. Link to resolve the symbol.
Learn how to use booleans in C on Windows by including a header, access true and false, and understand that false equals zero and true equals one, enabling conditional checks.
Discover how unions in C on Windows let multiple variables share the same memory region. See how writing to one member overwrites others, with hex demonstrations.
Explore casting in C on Windows, converting floats to ints, casting between primitives, casting pointers and structures, and understanding endianness and network byte order.
Explain what a library is and how dynamic link libraries share code across projects by creating a my_sum library, compiling it into a dynamic library, and linking main to run.
Explore the goto keyword and its ability to jump to labels, noting the risk of abuse in C and its role in memory cleanup by jumping to an out label.
Master bitwise operators in C, including and, or, xor, and not, and learn bit shifting with practical examples using unsigned char and flag bits.
Learn how to seek in files using fseek and ftell in C on Windows, repositioning the read/write pointer, and reading from a specific offset.
Master switches in C by comparing a value against constant cases, using break to prevent continuing to the next case, utilizing default for unmatched cases, and creating scopes with braces.
This lecture discusses enumerations in the C programming language
Learn to create a binary book program in C on Windows that can add and read books, using Hex Editor Neo to inspect the binary file.
List and read books from a file, seeking end and back to start as needed. Allocate heap memory for books, index them for viewing, and validate user input.
Show bit masking with a typedef unsigned char book flag and bitwise or to mark a sold book. Explain memory management via malloc/free and file handling to prevent memory leak.
Explore bonus lectures on assembly, kernel development, building a C compiler, creating a chip-8 emulator, arduino firmware, and an intro to C++, all with discounts.
It's time to finally master the C programming language. Dan, your tutor, has been developing in the C programming language for over ten years and has a lot of experience to give. In this course you will learn C programming on Windows. What makes this course different from the others is that you will actually use the compiler. An IDE will just not do it for us. We will be using the compiler ourselves this will give you the experience you need to manually use the GCC compiler. Be A Pro.
This course will teach you everything about the C programming language, you will be taken through the basics all the way to more complicated concepts such as functions, pointers and library development. Best of all this course is made to be beginner friendly.
We end this course by creating a book program that allows a user to create books, save them to disk and then read them again.
Once you have finished this course you will be experienced in the C programming language and will have no trouble moving forward with your own personal projects. This course is great for students who need that extra push
This course is beginner friendly regardless of your current skill level
Introduction Video Music by Ben Sound