ProgrammingBeginnerC

C Programming Fundamentals

Learn C from first principles: types and control flow, functions, then the part that makes C different — arrays, pointers and manual memory.

C is a small language with a lot of consequences. There is no garbage collector, no bounds checking on arrays, and nothing stops you from writing to memory you do not own. That is exactly why it is worth learning: once you understand how memory actually works, the behaviour of almost every other systems language stops being mysterious. This course builds C from the ground up. You start with the type system and control flow, move into functions and how scope actually works, and then spend real time on pointers — the concept C is famous for, and the one that trips up nearly everyone exactly once. After pointers you will be comfortable with structs, dynamic allocation and the standard library. The emphasis throughout is on what the language *guarantees*. In C, the difference between correct and incorrect code is often whether the behaviour was defined at all, and learning to see that difference is the whole skill.

4.5 (120) 840 students 121 min 15 lessons 160 XP on completion

What you will be able to do

  • Write, compile and run a C program and explain what each part does
  • Predict the output of any C expression involving integer promotion, overflow or operator precedence
  • Explain what a pointer is, what it points at, and why dangling pointers are dangerous
  • Allocate and free heap memory correctly, and recognise a leak or double free
  • Read and write C strings safely, and explain why strcpy on a fixed buffer is risky
  • Distinguish code with defined behaviour from code that merely happens to work

Assessments

Dashboard