C Programming
You need a Linux-based development environment to follow through with this course. There are at least three ways to do it.
- Install a Linux distribution on your computer natively.
- Install Cygwin on your Windows installation.
- Install the Windows Subsystem for Linux on your Windows installation.
You should then be able to use a code editor like VSCode or CLion. You can also choose to work purely from the command line.
A Very Gentle Introduction to C Make sure you try out every code example given in the above post. Please do not proceed if you have not done that.
Then read the following posts in the given order. Ensure you try out the example code in every article.
- Structure of a C program
- Our very own printf!
- Types in C
- Type promotion in C
- Loops in C
- What is true and what is false?
- What handles operations in C?
- Know your / operator more
- Know your % from close quarters
- Are you logical?
- Let's take it bitwise!
- Know your , operator well!
- Who wins?
- How do functions work in C?
- Disciplined storage: Arrays
- Strings in C are special!
- If you are bored with if-then-else, just switch
- You need structures!
- Unions aren't always scary!
- Introduction to Pointers
- Let's name our integer values: Enums
- Different mains
- String and Character Library Functions
- Some pointers on pointers
- Even pointers have to do maths!
- What's in a name?
- Basic Input/Output Channels
- Size matters!
- Build your structures differently
- Build your arrays differently too!
- Constant Pointer vs. Pointer to a Constant
- Where do your variables live?
- You want to input a string with spaces?
- Files as databases: writing and reading files
- Cat in C
- Advanced Maths Functions
- Need more memory? Dynamic memory to the rescue!
- Function pointers are easy!
- Do you really understand #include?
- #define should be used more often
- Pros use Conditional Compilation
- Tell them if you cannot compile! #error
- How does preprocessed code look?
- Pragmas are all about hints!
- I can do it all! Struct + Array + Dynamic Allocation + Pointer Arithmetic
- Simple debugging with gdb
- A simple Makefile
- What is the C library?
- Which library do I need?