Pointers and dynamic memory - stack vs heap
See complete series on pointers here
• Pointers in C/C++
In this lesson, we describe the concept of dynamic memory allocation in c or c++ and explained how memory is managed for an application. We have explained the fundamental concept of stack and heap in memory also.
For practice problems and more, visit: www.mycodeschool.com
Like us on Facebook: / mycodeschool
Follow us on twitter: / mycodeschool
Пікірлер: 1 000
Best explanation of memory ever!
@theamjolnir9641
6 жыл бұрын
Agreed!
@PatH902101
4 жыл бұрын
I whole heartily agree! Te best explanation of memory usage and the Responsibility of the Programmer to maintain this resource.
@nxone9903
3 жыл бұрын
Agreed.
@monickverma2944
3 жыл бұрын
Ikr
@vamsikrishnasayarwar1792
3 жыл бұрын
Agreed
You are a man that made 17 minutes feel like 3 and enlightened me every step of the way. I not only salute you, but respect your work immensely. Well done. Subscription more than deserved.
*My takeaways:* 1. Stack 2:12, stackoverflow 5:45 2. Heap 7:35 3. Heap is also called dynamic memory, using the heap is referred as dynamic memory allocation 8:56 4. Heap memory has nothing to do with heap data structure, but stack memory is an implementation of stack data structure 9:17 5. Dynamic memory allocation functions/operators: C - malloc, calloc, realloc and free. C++ - new and delete 10:00
Always had to deal with stack and heap, and I was unclear of the difference. This explanation and examples were kick-ass. Loved it and it was the best delineation of the stack and heap that I have ever ran into. Thanks much!
After months of intro courses skirting around this idea like it is some big scary monster, finally someone explains it in a simple way that is just so easy to understand. Thank you!
I've never encountered an explanation of this subject that was so easy to understand as well as covering so much material. Thank you infinitely
I sat through a 2 hour lecture on this subject and this video made far more sense than my professor did. Thank you!
Very good big picture video, you spent a lot of time prepping of this via examples. Thank you for spending the time to make the forest seem clear and not get lost in the details of the trees
Thanks for providing subtitles, I know it would hurt your ego to do it, but it really does help. :)
Your explanation is excellent thank you :) finally i understand. watched so many videos about this topic and yours was the best
Fantastic video, I would recommend to anybody having trouble understanding these concepts as they build off each other very well in these videos. Great job, sir.
Sir, you are the best. I have never met a mentor like you in my life. Keep educating the world and may god bless you. Thank You.
Wow. This cleared up so much confusion I didn't even know I had! I feel far more solid in my understanding of stack/heap/memory. Thank you!!!
@br_i4360
Жыл бұрын
Lol I know right? Same feeling I had. "I didn't even know I really didnt understand this until I watched this video" 😅
This is an amazing break down. I really appreciated it.
You taught pointers in a very effective way among these tutorials, congratulations!
This gave a really clear explanation. I'm so glad I've found this video! Thank you
I'm in my 2nd year of computer engineering, finally someone tells me that "heap" is NOT the data structure. Thanks a lot
@pubdigitalix
3 жыл бұрын
The heap is a data structure too. Is not the same heap he was talking.
@utkarshaggarwal1631
2 жыл бұрын
@@pubdigitalix I think that's what he meant.
@emremokoko
2 жыл бұрын
I am self learning computer science. I did not expect the terminology to be this blurry and confusing, since it is called "science".
@_Yes_.
2 жыл бұрын
@@emremokoko lol
@_Yes_.
2 жыл бұрын
plz help me im only 15 and i dont understand anything
You are amongst the BEST teachers of all TIME. This series of courses has made one hell of an Embedded Systems firmware engineer. I still visit it from time to time. Thanks for sharing this amazing knowledge of yours with a superb explanation ability.
@webmaster246
Жыл бұрын
Some people are meant to be teachers and some don't . We can only accept it and move forward . The sad part, you must pick up a teacher on KZread until you find one that make's all demystified - it's time consuming resource :)
@swxpizz9338
10 ай бұрын
Proof ?
@losfromla1480
10 ай бұрын
The channel hasn't produced videos in six years! Maybe someone needs to step up and archive it.
@swxpizz9338
10 ай бұрын
@@losfromla1480 ok
@suhasvarna2463
Ай бұрын
@@losfromla1480 read about humble fool Harsha Suryanarayana you l know why there are no videos
I don't have a formal CS degree. I used to come this channel for the foundation years ago. Love coming back to this channel every once in a while.
This tutorial has been more clear than any other resource I have read on this matter, and you have cleared much confusion for me. Much thanks.
Holy shit! none of my actually teachers in school could ever explained like this guy, thanks man!
Thank you, THANK YOU, THANK YOU!!! I have struggled with this concept for AGES and your video just made it all click!
@swiftpanther
7 жыл бұрын
scottdotjazzman idk
the best video for memory hierarchy in c/cpp programming I have see. Thank you!
Wow! At 4:06 timeline time; You have clearing established linearity between software programming and physical "RAM" structures. The format, layout, and illustration are brilliant; eight years and months after the year posted. Thank you! I paused the video to write this thread. If the remainder of this video continues as noted, it is a great production.
Great lesson, I've watched it many times. Good job.
I see you haven't upload any video recently but I still wanted to thank you. Im a spanish collegue student that strugles to understand his teacher's explanations. Althought english is not my first language, I have found your video an incredible and more helpful explanation than my teachers one. Thank u very much!!!!
@craylixart
3 жыл бұрын
I heard that he died in a car accident !
one of the greatest tutorials ive had in a long time
Thanks very simple and straight forward explanation of stack vs heap in memory. Keep up the good work.
I wish my university lectures were like this!
@swxpizz9338
10 ай бұрын
Don't care + L + Cry + public static void main args + noob
The size of stack is decided during compilation. So, in most cases we do not need to bother about stack-overflow unless we write an infinite or very deep recursion. If we try to use too much of memory on stack and compiler can get to know about it during compile time (like very large arrays in C), it will give you error during compile time. Its just that if compiiler can not predict run-time behaviors like in the case of recursion.
For me, such topics should be exactly explained like you have here. Through actual examples of implementation of these concept and a visual representation of what's happening behind the hood. For me a picture does indeed say more than thousand words. Thanks!
You just explained away all questions i had about the reasons to use pointers, why pass by reference is so important and stack vs heap. Thanks dude!
It depends on the language, compiler, operating system and architecture. Typically, compilers would know about your local variables and function calls, so they can fix some stack size accounting most of the things except probably things like recursion that may go on infinitely. Once again, OS may also enforce some constraints. So,all in all its a thing of compiler and your system's design.
Hi Shri, Yeah, we will create more tutorials. Its just that it will take some time. Stay tuned :)
@fletchermarshall7521
2 жыл бұрын
instaBlaster...
probably the best explanation of memory allocation I have heard, great work buddy way to go!
Gonna be taking a course that involves a lot of this sort of material. The explanations are very much appreciated!
I like the subtitles they are helpful
Really Great Way to Explain
best concise and simple explanation of the stack and heap i've ever seen. thanks.
Very clear and thorough explanation. I learned so much in this video eventhough I am not finished yet. Thank you so much! Subbed without hesitation.
Hi Ravi, Sure. We will do the next video on "character arrays and pointers"
@abhashsingh1802
3 жыл бұрын
whaaaaaaatttt a mind boggling explanation..... oooommmgggg.
Hi Ravi, We have uploaded two videos on "character arrays and pointers". Check the playlist on pointers. Your feedback is appreciated.
Thank you, This is very helpful, i was stuck with those concepts, and your video clear up everything.
Have been looking for this for ages! Thanks for a very concise and clear explanation!!!
THose with less time might switch the speed to 1.25x ... His voice is clear enough ... Thnx btw .
@BaZoOoKa93
8 жыл бұрын
+Shashank Singh his voice is clear even with 2x
@RajatJoshiChannel
8 жыл бұрын
+Shashank Singh yeah!
@maximalgamingnl9954
6 жыл бұрын
thx
@maximalgamingnl9954
6 жыл бұрын
1.5 is fine too
@infinitesimotel
6 жыл бұрын
Well done. Much more coherent than the ones I have to speak to for problems with my ISP.
For english speakers, Heap can be thought of as a pile of data. It was called heap because it piles up data building upwards. The stack builds downwards (hence stack pointer references decreasing addresses as you build onto the stack) while the heap (or pile of data) builds upwards (meaning the addresses increase as you build onto it.
@thelonespeaker
2 жыл бұрын
The drawings make it look like the stack is building upwards, though. This doesn't seem consistent with what you said
This answered many of the questions I had regarding why malloc() is used as opposed to "normal" variable creation. Thanks!
still the best pointer video on youtube, saved me, I always come back to it for a refresher
For some reason I like his voice than anyone else's. Good tutorial. Tushar Roy's youtube and mycodeschools videos are my goto lecture videos whenever I am preparing for any technical interview. THANKS A LOT !
@KaushalKumar-js4us
8 жыл бұрын
Good luck Pradosh :)
@8802148204
7 жыл бұрын
hi!! pradosh and all,these days i am preparing for my technical interviews and i am only watching mycodeschool videos,would u recommend any other lectures or tutorials so that i cover up all the topics of c++, datastructures and programming skills.Tushar roy videos are also good. And thanks to mycodeschool for making such awesome videos, i hope to see more in coming future
@psn999100
7 жыл бұрын
HI Ayush, my suggestion would be to start solving questions from HackerRank and mycodeschool ( the website) first. The main thing that I liked about mycodeschool is that it has many questions relating to implementation of C std libraries, which many interviewers ask. HackerRank because most of Amazon questions are direct links to hackerrank, so if you have solved hem in past, you will be in good position. Side by side start on leetcode . Leetcode is the goto site for many questions from Google..etc. My aim was to solve atleast 5 questions daily. Keep a notebook consisting of any solved questions that Tushar does/you do, it will help you a lot during interviews as you can simply go thru the answers from your notebook in a short span of time. During my interviews, i went thru the solved submissions on HackerRank and it helped me a lot . You can leave out DP, hard level graph and tree questions for later though. But you should be able to say the tie complexities, and why a particular data structure is used in any question you do. Most of my failures in earlier interviews was because I hadnt practised programming. SO evvn though I could tell the algo immediately, on white board I would not give a correct code in 5 minutes. SO ya practice a lot. My experience is from being interviewed as a fresh grad from MS in USA. I think in India the question standard are more tough :P Lastly , before any interview,,spend some time on glassdoor for that particular company and gp over the questions that people have been asked. That helped me a lot as well. Best of luck
Hi Him, Ok ! We will try to get one video for object oriented implementation as well.
@sayantaniguha8519
3 жыл бұрын
How will the size of the stack be decided by the compiler or working system? Does the decision in anyway, depend upon the code written or entered by the user?
@souravmandal2376
3 жыл бұрын
@@sayantaniguha8519 this legend stoped uploading videos years ago. He is not active so I don't think you are gonna get the answer from him.
@sayantaniguha8519
3 жыл бұрын
@@souravmandal2376 😭😭
@tanmaymathur1919
3 жыл бұрын
@@sayantaniguha8519 He pass passed away 4-5 years ago in a car accident a car ran over her 🙏🏻🙏🏻
@nileshgopale8528
3 жыл бұрын
@@tanmaymathur1919 For your kind information , he is still alive and working in Google.
Best explanation of the memory architecture using C. Simple language and with 100 %clarity. Thank you. Subscribed your channel and awaiting for many more such videos. Thanks again!
just book marked this video to comeback and watch in the future, so far the best explanation I can find on youtube
Thanx for the information sir. It will be helpfull for me while studying Data Structures and Algorithms
@srisaisubramanyamdavanam9912
Жыл бұрын
same here too
Excellent explanation. Just one suggestion that, stack always resides higher then heap. It would be better if you would have drawn stack above the heap. Also stack grown from high to low and heap grown from low to high. These directions are important, and shall be shown.
@loganwalker454
2 жыл бұрын
Bro, the instructor is no more among us; however, the zillions people have been taking advantage of his countless effort.
@parthasarathimishra7538
2 жыл бұрын
@@loganwalker454 What happened?
@loganwalker454
2 жыл бұрын
@@parthasarathimishra7538, bro, honorable Harsha Suryanarayana, demised due to a car accident in 2014; however, he is always alive with us. kzread.info/dash/bejne/qauju7yImtinc6g.html&ab_channel=SubhamPal
@parthasarathimishra7538
2 жыл бұрын
@@loganwalker454 OMG.... I am extremely sorry to hear about it. May God bless his soul. I will be deleting my comment.
@loganwalker454
2 жыл бұрын
@@parthasarathimishra7538 bro, your suggestion is also helpful for others. Since I didn't know the stack memory grows from low to high, and the heap memory from high to low.
very clear and concise explanation! great examples, and context as well
This is a great video. Just brushing up on some fundamental in prep for job interviews and this was exactly what I was looking for.
As a cyber-security student, never thought I'd need this and didn't pay attention. well... here I am.
hahahaha sweet now i can ask questions on stackoverflow knowing what it was named after. ......... :D
@patrasculucian2403
6 жыл бұрын
When he said "this is called stack overflow" I got an AHA! moment
@edwardjohnson2727
6 жыл бұрын
Lol!
@housseinmamadou1585
6 жыл бұрын
same to me
@ShivamJha00
5 жыл бұрын
Hahahaha
@wothin
4 жыл бұрын
@@patrasculucian2403 yes me too. Never thought of that
I've watched so many of videos about this... You explain it the best.
I started computer science one year ago And I have never understood that, but by wacthing your video I got it in less than 20 min, You have a gift for teaching
while(am still alive) { printf("%s", "Thank u very much,"); }
@avinashsudhanshu
7 жыл бұрын
you don't need "%s" there!
@mpotsengmasetla947
7 жыл бұрын
thanks. But it works the same if i remove it(#no difference). Anyway am no longer doing programming.
@mpotsengmasetla947
7 жыл бұрын
@Avinash kumar Shudhanshu, it doesn't matter...... if is not broken don't fix it
@juliosanchis
6 жыл бұрын
"am" is not defined
@patrasculucian2403
6 жыл бұрын
bool stillAlive = 1; while(stillAlive != 0){ printf("Thank you"); }
he's good
thanks , one of the best videos for dynamic memory allocation I've ever watched about that
Amazing explanation on this topic, clear and easy to follow but also PACKED with information! Thank you so so so much, cleared out so much confusion I had
i like the pronunciation of "square" -> skwaer
@victoza9232
6 жыл бұрын
Sounds like "squire"
@nands4410
6 жыл бұрын
squire
@MustaWizard
4 жыл бұрын
couldnt focus because of it
@avr4h
4 жыл бұрын
I like how you note his pronunciations using structs -> 😉
That's second indian guy after Rajesh Koothrappali, whom I understand.
@nosecandeeznuts
6 жыл бұрын
Whomst'd've's'nd*
@ZeeshanJamal23143124324
5 жыл бұрын
Koothrappali looks so funny when he laughs.
@Sonofpeace
5 жыл бұрын
how is Rajesh Koothrappali ? give me his youtube channel link broo ~!
@mariomiletic22
5 жыл бұрын
@@Sonofpeace 0.o
@arpitbagri5010
4 жыл бұрын
@@Sonofpeace he is an actor.
Thank you for all the programming videos you have explained it so amazingly well ! Can you upload videos on few operating system concepts like scheduling, preemption, ISR, exception handling etc ? It would be a great help. Thanks!
you explained the stack and heap with way better than those instructors of the cs50 course , thanks alot
mycodeschool What will happen if the programmer doesn't free the memory after allocating it..Will it stay even after the execution of the program?
@mycodeschool
9 жыл бұрын
ARBY No, all the memory is reclaimed once the program finishes execution.
@arbylovers
9 жыл бұрын
Ok! Thanks
@ThePositiev3x
8 жыл бұрын
+mycodeschool are you sure? Because I think my teacher said it is reclaimed only after reboot.
@vinidotnet
8 жыл бұрын
+ThePositiev3x Once the program finishes, the memory that it was using is freed. Which means that another program can allocate and use them now. But the values that you used before remains as garbage until you reboot or when other program allocates and change it.
@mohanaddarwish2307
8 жыл бұрын
+ThePositiev3x unfortunately mycodeschool stopped replying on his videos of Pointersc/c++ :( all comments and the replies are 11-12 month old xD
i love how you say square
@psawyer871
7 жыл бұрын
lol :))
this is very awesome, thanks for your graphical explanation i am now understand the stack and heap in a deeper way. Awesome!
It was a very clear cut explanation with an example program. Thank you so much for this neat work👏👏❤️
C++ is not a superset of C.
@TON-vz3pe
Жыл бұрын
i=i+1; same as i++ C=C+1; same as c++ So C++ is a superset of C
I like the explanation, not a fan of the voice though.
@ferds001
7 жыл бұрын
It's honestly very tolerable, compared to other Indian accents. A lot of programming videos where the tutors who have not only thick accents, but do not enunciate. This guy is really good.
@theamjolnir9641
6 жыл бұрын
Just take what you can. This channel is awesome!
@tarunmathur7797
5 жыл бұрын
Then just watch with increased playback speed
This is a very interesting video, also his voice is very clear as he gets to the point and the video is quick with editing the drawing and writing he makes.
Excellent explanation of a complicated subject. Thank you very much for this video!
The size of the stack frame is calculated when compiling the program ... it is so important ... Thank you bro :)
No fluff, just solid content from a teacher who's not in love with the sound of his own voice. 🎯 👍
Quite understandable explanations with clear visuals. Subscribed!
The most important lesson for programmers !!! Thanks a lot bro.
This was an incredible explanation and really easy to follow along. Great video!
This was a wonderful lecture. You really put your heart into making this. Thanks
This was a very helpful and clear explanation. Thank you!
Great Tutorial really great video i figure out many things from this video. Thanks.
That is a really great explanation, thank you for sharing it with us!
You are absolutely AMAZING! Honestly I am very appreciative!
It is amazing.....your presentation was good enough to address the problem I had in 10 classroom sessions
This is a great video. Came here to understand what was advertised and even learned more.
Great lesson, best one I have come across so far. Thank you!
Amazing explanation of memory management!! Thanks a lot!!!! Wonder, why we don't get to know this, like this in college!
Sans doute la meilleure explication, très pédagogique.
This is so amazing. I’m in CS50 and kinda struggled with their initial description of memory allocation. This video cleared everything up perfectly!! Thank you!
@barnabasgaming5381
2 жыл бұрын
if even a harvard student is coming to get educated by an indian man on youtube then higher education truly is a scam. i hope you're not going into too much debt.
I find this video extremely helpful. Thanks for your effort.
Thanks for this type of content, really it does clear out so many misconceptions on programming.
Master!!! Got to know about your videos very late...But Learnt a lot with your clear Explaination, and gained Clarity of the Topic..Stay Blessed Always!!!
I had spent almost a week trying to understand this concept until I stumbled upon this masterpiece. And this is just too good. The pictorial way of teaching is so much more fun to understand and so much more easier. R.I.P humblefool, u will be missed
@nitnelavspetorials
Жыл бұрын
Bruh don't tell me he's really rip... That will make me sad a bit...
@justcallmeRISHI
11 ай бұрын
@@nitnelavspetorials Sadly, he was killed in a hit-and-run in 2014 at the age of 30
@nitnelavspetorials
11 ай бұрын
@@justcallmeRISHI ...Even if it's not what I wanted to hear, maybe it's better for me to know the truth... Thanks mate!
Thank you so much. One of the best presentation I have ever watched!
Such a superb explanation of concept! Amazing!
Thank you so much!! Your explanations were clear and simple, and the drawings helped SO SO SO much!!!! Thank you for clearing all of this stuff up :)
Great explanations! You are a very good teacher.