Welcome to Pointers and Memory in Depth

Get an introduction to the course. Learn what you need to get started and how to get the most out of this course.

Before we start our journey into the world of pointers and memory management, I want to take a moment to thank you for taking this course. Beginning an online course is time consuming and requires energy commitment. By taking this course, you trust us to deliver the best and most comprehensive online course on the subject, and we intend to deliver on this promise.

Memory and pointers

How to get the most out of this course

This course will constantly challenge you. It will not always be easy, and you may struggle at times. But do not worry, this is good! It will help you realize what you know and, more importantly, what you do not know.

Therefore, to get the most out of this course, we ask you to take the coding challenges, quizzes, and assessments seriously. Here are a few tips from our side:

  • Try and try again!
  • If you fail, try one more time.
  • Your aim should be to try to solve a coding challenge on your own for 2–3 days, a few hours each day, before checking the solution.
  • Put in the effort, reap the rewards, and learn a valuable skill for every engineer.

It doesn’t matter if you end up writing C or C++ or doing web development. Understanding how the computer and memory work and how to interact with them correctly will help you write better and more efficient code. Also, it’s always nice to understand how things work under the hood!

Memory drawings

During the course, you’ll see a lot of animations and memory drawings. They are crucial in understanding how pointer-intensive code works. You should pay special attention to them because you will have to create similar memory drawings while solving the coding challenges.

Prerequisites

We only assume a basic understanding of the C programming language, such as:

  • Knowing what .c and .h files are
  • Types and variables
  • Functions
  • Operators
  • Control flow: if, while, for, etc.

If another concept (like struct) is needed, we’ll explain it in depth beforehand!

You don’t need to install anything on your local machine. All coding-related activities will be embedded directly into the lessons. However, if you want a local setup, we recommend Linux and GCC (a VMVirtual Machine or WSLWindows Subsystem for Linux will work just fine).

Without further ado, let’s get started!