High Definition Standard Definition Theater
Video id : IrGjyfBC-u0
ImmersiveAmbientModecolor: #c8c3b3 (color 1)
Video Format : 22 (720p) openh264 ( https://github.com/cisco/openh264) mp4a.40.2 | 44100Hz
Audio Format: Opus - Normalized audio
PokeTubeEncryptID: 20f8ace4ce4b7457962d4501d52393b5f9c91e77167c1a49b0ba1d489e4b691a1a336109ef5beb66f62784b2a6f2b2f5
Proxy : eu-proxy.poketube.fun - refresh the page to change the proxy location
Date : 1715718743671 - unknown on Apple WebKit
Mystery text : SXJHanlmQkMtdTAgaSAgbG92ICB1IGV1LXByb3h5LnBva2V0dWJlLmZ1bg==
143 : true
Master Pointers in C: 10X Your C Coding!
Jump to Connections
261,725 Views • Premiered Jun 4, 2023 • Click to toggle off description
Pointer basics, indirection, void pointers, pointers to pointers, function pointers, callbacks and much more in this comprehensive introduction to pointers. For information on my book, "Secrets of the Autistic Millionaire": amzn.to/3diQILq

My other channel, join now so you're there for episode 01 of my AudioBook!
   / @davepl  

Discord Chat w/ Myself and Subscribers: discord.gg/eMVWUvrkP6

Primary Equipment (Amazon Affiliate Links):
* Camera: Sony FX-3 - amzn.to/3w31C0Z
* Camera Lens: 50mm F1.4 Art DG HSM - amzn.to/3kEnYk4
* Microphone: Electro Voice RE 320 - amzn.to/37gL65g
* Teleprompter: Glide Gear TMP 100 - amzn.to/3MN2nlA
* SD Cards: Sony TOUGH - amzn.to/38QZGR9

This is a revised edit (shorter and without intro) of the video from several days ago!
As always, all content and opinions are mine only, (c) 2022 Plummer's Software LLC.
Metadata And Engagement

Views : 261,725
Genre: Science & Technology
Date of upload: Premiered Jun 4, 2023 ^^


Rating : 4.972 (115/16,273 LTDR)
RYD date created : 2024-05-14T20:25:22.735917Z
See in json
Tags
Connections

YouTube Comments - 620 Comments

Top Comments of this video!! :3

@esra_erimez

11 months ago

My dad taught me about pointers using index registers in assembler.

468 |

@mossi5976

8 months ago

That analogy between memory address and the address of a house is great! I used to make similar comparisons when teaching C to students and it really seemed to help make it click for them.

95 |

@greg4367

11 months ago

Dave, i have been coding in C since 1980 and have, many times, tried with variable success to explain pointers to newbies. This video is clearer and more concise then my best efforts. Going forward I'm just going to refer newbies to this. Thanks.

26 |

@connecticutaggie

11 months ago

Wow, 40 years ago I was still programming Fortran and had never heard of object oriented programming. At the time I was designing a production program to run various tests on pacemakers and since all the tests had some shared behavior (like limits checking, saving results to a database, printing results, etc.), I decided to create a large common block array that was indexed by something I called a "test number" then functions could do what they needed with just a test number. One huge advantage was that I could configure what tests to run and what limits to use and units to report with a big constant array at the top of the code. This meant that when a new test specification came out, usually all I had to do was to change the constant array and no code change was required. Later on in my career my SW boss told me I had created Object Oriented Fortran. Interesting - I was just a young "lazy" programmer trying to find a way to do more with less code to develop, debug, and validate. Also, being ADD, my brain worked faster than my fingers.

92 |

@thegame4027

11 months ago

Its a great video if you understand pointers but it fails to do the most important part of why people don't understand pointers. People don't understand pointers because they don't understand the problem they are solving. The moment you understand how memory works, how data is stored/loaded in/from memory and what the cpu has to do differently depending on if you call by reference or by value is the moment you get pointers. The real explanation needed is not what pointers are but what problem they solve and why you need them. Back when i was learning C i had a hard time wrapping my head around pointers until one day my boss took an houre to explain the difference. He showed me the assembler output of different scenarios with and without pointers and explained what happened on each line inside the cpu and memory and it just all made sense after that. It's not about what pointers are but what problem they solve and how.

16 |

@johannesschneider1784

11 months ago

This is the most amazingly coherent, clear and informative explanation of pointers I have seen in 14 years since I started programming in C and C++. This is beyond fantastic omg please continue. :)

31 |

@AusSkiller

11 months ago

Pointers were so logical and intuitive for me. When I was first learning C++ I was coming from having played around with languages that didn't have dynamic allocation, I didn't know what dynamic allocation was at the time but I had been frustrated in numerous projects I had made that I couldn't make new variables at runtime. So when I first read an example of malloc and using a pointer I immediately put down the book (before even reading the explanation of the example) because I had recognized it as the solution to what I had wanted for so long and wrote a linked list (not that I knew that it was a linked list at the time) to verify that it could do exactly what I had hoped it could, and it worked. I was so excited, the possibilities of pointers were limitless in my eyes and I messed around with them for most of the rest of the day. When I finally got back to reading the book that I was using to learn C++ I was a little disappointed to learn that everything I thought I had created to use pointers for was pretty much covered in the next chapter, but I was glad that at least I had understood them well enough that I could correctly extrapolate their uses without knowing much more than that they existed. It also turned out the example was only the first half of the program that only covered allocation, it wasn't until I turned the page to see the deallocation example and read the explanation for it that I realized all the horrors of memory leaks and how many I must have created that day 😉

52 |

@cd860viu

11 months ago

I've been (slowly) learning C as my starting language just for fun. Pointers has given me many headaches and I still can't completely get a picture in my head of how they work. I wish sometimes that they had a special name or different symbol, maybe that would've made it easier. But you mentioned a few things (that I had to listen to 3-4 times) that gave me some better insight, so maybe one day. Thanks!

57 |

@tangiblewaves3581

10 months ago

Hi Dave, I discovered your channel a few days ago and enjoyed some windows related vids; today I wanted to improve my understanding of C pointers and, voila, here you are again! I looked at some other tutorials, but yours is definitely the best! I really love your style! Keep up your great work; it's pure gold! ❤

2 |

@yoshi4980

11 months ago

i was a TA for an intro to C class, and the house example was what i used to describe pointers to people really confused about them. glad to see that you are using a similar example here! i feel that the easiest way to describe technical concepts to people who are confused about them(or have no technical experience/knowledge) is to use a real world analogy, even if it oversimplifies what is actually going on. once they understand the analogy and how it relates to the technical concept, then they can get to the nitty gritty of understanding the technical details behind the concept

4 |

@JamesLatimer

11 months ago

Wow. This made a whole lot more sense to me by the end. Thanks Dave!

2 |

@ochbad

11 months ago

Thanks for making this video! I still remember the exact ‘ahah’ moment (two decades ago in freshman cs) when I grokked c memory (pointers, arrays, structures). Learning how c handles memory really helped me understand how computers work.

1 |

@onejdc

11 months ago

Two follow-up tips: The & (address-of operator) is used when you want to turn the address value of something into a pointer. Second, you will sometimes see that asterisk * in different places between the type and the pointer name: e.g. int* a; int * a; int *a; int (*a); ... all of these are exactly the same. The whitespace doesn't mean anything in these examples. That took me forever to understand. Just try to be consistent in code.

59 |

@morrick

11 months ago

I have always struggled with this. Dave, your explanation is the best I've ever heard and it worked for me! Like you say "it clicked"!

|

@jimwinchester339

10 months ago

Good video, Dave. I also have been working in C/C++ for about 40 years, including work for some notable compiler vendors such as C86, Zortech C++, and GCC (via Cygnus). This was IMO an uncommonly clear and well-organized presentation. Was impressed that you had time to include pointer-to-functions in this 14-minute overview. Perhaps you might have mentioned the precise prototype matching required to do real-world useful work involving pointer-to-functions; and in particular, how judicious use usually warrants declaring a typedef for a particular group of related pointers-to-functions.

4 |

@scottcooper3107

11 months ago

Thanks! Very Helpful. You explained some things that C++ books that I have read have overlooked. Like ..... The reason why we even need to use pointers to begin with. I hope to see more content like this.

2 |

@TheAndjelika

11 months ago

Dear Dave, you said something really wonderful. When you want to learn C++ or C but your first language is Python, of course, it looks scary. That is what I can hear from a lot of students who are honestly scared to delve into low-level languages and learn how "motor" actually works. Since I am a child of the 80s, my first language was machine code and assembler for 8-bit CPUs. As such, I always try to explain things from that perspective, emphasizing memory and how the CPU "crawls" through it. Thank you for this episode. I truly believe it is important. Greetings from the Netherlands.

31 |

@possumcode

10 months ago

Let me speak from my heart =) This description was absolutely incredible! I wish I've had it about 5 years ago..

|

@juliusfucik4011

11 months ago

I started learning Turbo Pascal in the mid 90s, so for me pointers where never really hard to grasp as TP uses them too. Once you have the concept in your head a pointer to an array of pointers becomes a natural thing to work with. Great video!

14 |

@mathiasdreke180

11 months ago

Thanks for your programming content! I have been a programmer for a while but nowadays information technology seems much too complex for me. I cannot code for real but I can follow your explanations and understand them. It's just I have problems memorizing them. So I consider your videos a source of sophisticated entertainment.

3 |

Go To Top