Hi Madison , great video. Strictly speaking, the address you print @9:00 is not real address , is virtual address in comparison with physical address. The OS turns physical address into virtual address in order to protect the process.
What blew my mind is how in C an array is just a reference to a group of bytes. So, arr[0] goes to the original reference, while arr[3] does pointer arithmetic to point to the right index. lol So, 0x123 + (size of type * 3)
One of the most clear and concise explanations of pointers online, in my opinion. This video was amazing!! Eventually I feel like it might be fascinating to see a video by you about how pointers work in assembly, and how what you mention here maps to the actual machine instructions/machine code that is executed by the CPU. ..Also love the Warp and Neovim setup :) Keep up the amazing stuff Madison! You rock!
wow thanks so much for watching and for the feedback! ooh learning about pointers in assembly sounds kind of mind blowing, I definitely need to learn about that next
This is great, if you wanted to revise this I think after you make the p pointer variable switch back to your diagram of memory and show how another memory cell is storing the address.
Your video was clear. Now, it would be nice to have follow up videos as to why we have pointers, their uses, pros and cons, that sort of thing, thank you.
the problem with "pointers" is that "understanding" is misleading, because there is so many ways you can use pointers that makes you realize you don't really "understand" it, people should focus more on getting their hands dirty and exploring everything you can do with pointers, because then is when these simple explanations finally click. while a high level understanding of what pointers are is necessary, it would be nice that when pointers are brought up is also shown the quirks of them, double pointers, pointer to functions, pointer arithmetic etc etc
Great synopsis, and easily digestible! Keep up the great work, looking forward to the next cs50 walkthrough.
Hi Madison , great video. Strictly speaking, the address you print @9:00 is not real address , is virtual address in comparison with physical address. The OS turns physical address into virtual address in order to protect the process.
What blew my mind is how in C an array is just a reference to a group of bytes. So, arr[0] goes to the original reference, while arr[3] does pointer arithmetic to point to the right index. lol So, 0x123 + (size of type * 3)
seriously that is mind blowing
I think that the compiler treats
arr[i] as *(arr +(i × sizeof(*arr)).
It doesn't matter if i is 0 or 3.
One of the most clear and concise explanations of pointers online, in my opinion. This video was amazing!! Eventually I feel like it might be fascinating to see a video by you about how pointers work in assembly, and how what you mention here maps to the actual machine instructions/machine code that is executed by the CPU. ..Also love the Warp and Neovim setup :) Keep up the amazing stuff Madison! You rock!
wow thanks so much for watching and for the feedback! ooh learning about pointers in assembly sounds kind of mind blowing, I definitely need to learn about that next
Look who's dropping some cracked videos on C. Based.
Thanks alot ma'am. it was very helpful.
This is great, if you wanted to revise this I think after you make the p pointer variable switch back to your diagram of memory and show how another memory cell is storing the address.
great idea
One of your best vids!
thank you so much! that means a lot to me :)
@MadisonKanna haha, glad you understand despite my typo
Your video was clear. Now, it would be nice to have follow up videos as to why we have pointers, their uses, pros and cons, that sort of thing, thank you.
great!!!. more content about pointers please! Your explain very easy to understand about pointer
thank you!! will do!
The algorithm gods did me a big favor today
aw, thank you for watching - I appreciate you, Victor!
Please explain malloc in the same way. Thank you :)
Is it essential to learn coding in future?
no
the problem with "pointers" is that "understanding" is misleading, because there is so many ways you can use pointers that makes you realize you don't really "understand" it, people should focus more on getting their hands dirty and exploring everything you can do with pointers, because then is when these simple explanations finally click.
while a high level understanding of what pointers are is necessary, it would be nice that when pointers are brought up is also shown the quirks of them, double pointers, pointer to functions, pointer arithmetic etc etc
you make a really solid point, 42boolean. also, I love your username. I think I need to get my hands more dirty with pointers!!
loves from india sir
Abhay bhai maa kasam kuch samjh ni aya
@Blamee Khachi bhay starting se dekho lectures
Creep