Pointers in C for Absolute Beginners – Full Course



Finally understand pointers in C in this course for absolute beginners. Pointers are variables that store the memory address of another variable. They “point” to the location of data in memory. With a bunch of examples, this course demystifies pointers and their various uses, covering topics such as passing by reference vs. value, void pointers, arrays, and more.

✏️ Course created by @onaecO

⭐️ Contents ⭐️
(0:00:00) Introduction
(0:00:39) What is a computer eli5 CPU, RAM, bytes
(0:08:04) Data Types
(0:13:31) Intro to processes
(0:16:44) process memory layout
(0:19:17) Variables in memory
(0:23:01) Naive change_value program
(0:28:05) Change_value with pointers
(0:33:03) The classic swap
(0:34:05) Why declaration and dereference have the same syntax for pointers?
(0:38:39) Advantages of passing by reference va passing by value
(0:45:26) Why do pointers to different data types have the same size?
(0:47:49) Given that pointers have all the same size, why do we need a pointer type?
(0:58:16) void pointers are confusing
(1:00:14) why malloc is handy and more on void*
(1:09:09) Are arrays just pointers?
(1:25:00) Array Decay into a pointer
(1:32:59) why array decay is useful?
(1:37:49) arr[5] == 5[arr]
(1:39:04) pointers to pointers: **argv
(1:47:11) *argv[] or **argv?
(1:52:41) pointer to functions
(1:59:02) use case with pointers to functions

🎉 Thanks to our Champion and Sponsor supporters:
👾 davthecoder
👾 jedi-or-sith
👾 南宮千影
👾 Agustín Kussrow
👾 Nattira Maneerat
👾 Heather Wcislo
👾 Serhiy Kalinets
👾 Justin Hual
👾 Otis Morgan

Learn to code for free and get a developer job:

Read hundreds of articles on programming:

❤️ Support for this channel comes from our friends at Scrimba – the coding platform that’s reinvented interactive learning:

source

22 Comments

  1. Great class but I can't follow because the smack sound you make with your mouth every 20 seconds or so. My own issue of course but I wish there was a way to filter that sound out.

  2. I'm highly skeptical of abstraction. I'm concerned that it makes it easy to miss important details along the way.
    My very first computer programs I ever wrote were in IBM 360/370 Macro Assembly Language. On punchcards.
    That's about as much "abstraction" that I've ever been comfortable with.
    Otherwise you tend to start thinking of computer as magic or intelligent or something.

  3. A PDP-11 running UNIX in the early 80's.

    A vi editor on a monochrome terminal (amber was best) & a cc compiler.

    Me, a young, sexy, Physics Major …. well, young, at least.

    My code, "SEGMENTATION FAULT. CORE DUMP"

    And those were the Good Ol'd Days!

  4. "A Book on C: programming in C" by Al Kelley & Ira Pohl and "The C Programming Language" by Brian Kernighan & Dennis Ritchie are great starting points. I still have both from way back when.

    C is simple, but profound. Mastering computing concepts in the context of C forms a strong foundation.

    Remembering that C considers Zero to be in the set of Natural Numbers, and not blowing past the end of arrays are the hardest parts of C!

  5. 28:15 – correct me, if im wrong, but… these addresses are wrong, right?

    if we disregard the blue circle with the word 'address', then the architecture is Big Endian (look at each byte adresses) – if that's correct and consistent, the lowest byte, that one ending with 4b, should be circled and marked as actual address, right? that would make a consistent Big Endian architecture?

    sorry, but im totally new to C and i think this aspect is critical if you ever plan on working with data streams, and this graphic is kinda misleading i think?

  6. I haven't watched the whole video yet, I already learned new things!!
    I really want to be sure if I understand correctly the little-endian.
    In 19:53 (or 20:43) there is the 00101010 on the… Wrong "floor" into the 4 bytes for the int number…
    Because the lowest number is the one on the bottom, thus this is the one that should contain the least significant byte.

    Otherwise, the counting of the bytes (with the hex on the right) should have been increasing top-down instead of bottom-up.

  7. Pointers are awesome because you can just have your data in memory once, then access it all over the place without duplicating it. Instead of creating a container full of values, you can create a container full of pointers to values, so you can deal with a tiny container that represents a mountain of data. C/C++ are great

  8. i found this video very helpful. If anyone are thinking that omg this is 2hours then don't hesitate just watch the full video ,you will feel happy after completing the video because you would have gained some knowledge on pointers.

Leave a Reply

Your email address will not be published. Required fields are marked *

You might like

© 2026 Cantinho do Vídeo - WordPress Video Theme by WPEnjoy