Its a perfect explanation 19) Structure gets allocated on stack 20) Here the structure is copy by Val not copy by ref 21)Yes we may create structure on heap memory also overall Today few of my doubts regarding memory allocation of a program gets cleared Thank you for such knowledgeable video...
Thank you for the most comprehensive video on youtube!! The three questions at the end of the video are asking about the same thing 19. structs are stored on stack, since they are primitive data types 20. byval 21. Yes, as a part of a class instance
Q19: Structure alloc on Stack Q20: MyStruct s2 = s1; It's copied byValue Q21: Structure can be alloc on Heap when an object has structure property -- Thank you so much for the lesson!
Thanks a lot sir, I have been watching your videos since 2013...By watching your videos I cracked my interviews for L&T infotech, Arees Software, JLL, Qualsoft systems...🙂
Thank you Shiv, this is one of the best and most well explained videos I've ever watched on these subjects. I'm not even interviewing as I'm just learning C# and I absolutely loved how easy you made this. I hope you continue to deep dive into more C# content! I subscribed and plan on signing up to your website courses, Thank you again!
Shiv you are really good at explaining things easy and smooth For the past 9 years, i always prefer your videos for any learning or job change. You are doing a great job, your voice tone is really impressive
Thank you Shiv, your trainings are amazing, help me and many developers like me to be able to put things in decent way in the interview, otherwise many who did work can't explain things in proper way and step by step, that's amazing.
Great package of questions! There is one more thing about stack and heap, what happen in situations when we pass data to methods, and next when we pass data with OUT and REF prefixes :)
A simple answer to all the last 3 questions can be that primitive data types like int,double are structure in nature. Thank you for the great tutorial. Please correct me if I am wrong
19. Where is structure allocated Stack or Heap? - Stack, as you can clearly see in Quick watch that those values are stored in stack. 20. Are structures copy byval or copy byref? - Structs are copy byval, as you can see that after copying s1 to s2 its values are stored in stack & and address is not stored. 21. Can structures get created on Heap? - Yes, they will get created if they are part of a object. I have one doubt. If any value type is stored in heap like if struct is stored in heap then is it directly stored in memory or it is stored in another stack and that stacks memory address is stored in heap? May b stupid question but could you please clear my doubt? @questpondvideos
I'll answer the question about the usefulness of these types of questions as an interviewer as opposed to more topical questions. I don't think these are deal breaker questions for junior to mid roles but, they do help identify a certain type of developer that you really want. If candidates can answer these questions correctly, demonstrate a topic specific knowledge necessary for the role, solve a design problem and answer behavioral questions well, they are a hire for me.
Thank you for this great video, very easy to follow you. I think a software engineer should know the basic things like stack and heap, boxing unboxing etc ..
Thank you sir, it's a wonderful explanation. You have talk about each and everything. But as you say there's challange to clear heap. So new programing language/technology coming in market still they are using concept of heap. If yes then What is the main dependency on heap which is making it necessary to use
19: Structures are value types. Will be stored on the stack but can be stored on both the heap when used in a class instance. 20) Structures use copy val, and will create a new reference in the ram for the value. 21) yes if they are used within an object, for example if my employee class used a structs to store values, the structs within the employee object would be added to the heap That’s my take on it so far have just paused the video without reading comments so I hope I have it right 😅
The fact that there is no clear answer as to which school of thought we belong to doesn't imply that he shouldn't comprehend the basics (I STRONGLY RECOMMEND FUNDAMENTALS FIRST). A healthy balance between the first and second schools of thought, as well as an honest desire to learn, should exist. A person should not be tested on memory but rather on honesty and enthusiasm for learning new things. Because it's just a matter of memory and is accessible online, he might pick up the same idea the following day.
As per August 2023 , things have changed now , I created same example now on Visual Studio and everything was being stored on stack now, correct me if I am wrong.
It's optional and depends on the project requirement which you are working on. Yes it is useful to learn mongodb and nodejs due to demand being very high.
what if we add a string as a variable in a struct and that struct is called in a function ? . I tried it and it says it is located in the heap not the stack. Adresses are different
Can anyone explain me whether unboxing is happening in below code? As per definition ,obj (Age and Name) is stored on heap and we are retreiving Name field from heap memory to local variable Age into stack memory. internal class Program { static void Main(string[] args) { Test obj = new Test(); int Age = Convert.ToInt32(obj.Name); // is there any unboxing here at this line } } internal class Test { public int Age = 10; public string Name = "150"; }
Why is the value with 16 digits is it in hexadecimal so haw many Bytes/bits is required? Could anyone make this clear for me ? And between 408 and 404 is it 4 ?? ? Whzt the unit of the diffrence 408-404 = ?? Is it the size of the variable for example xbool here
Hi Questpond, Thanks for uploading such a nice videos on Stack/heap. Below is the answer for the 19,20 & 21. 19. Stack - because structure are value type. 20. Structure copy byval , and we can see that when you wrote &S2. It is directly showing the value instead address of value. 21. Yes , structures can be created in heap when we use as member in class. Here structure is member of class. I hope , i am able to answer last 3 question correctly, if not then please correct me. Thanks
Question 19:- Where is the structure allocated Stack or Heap ? Answer: In C#, when you create a structure (struct), it is typically allocated on the stack if it's a local variable within a function or method. However, if the structure contains reference types (e.g., objects), those reference types will be allocated on the heap, and the structure will store references to them. Question 20:- Are structures copy byval or copy byref ? Answer: Structures are mostly copy by values but if it contains an object then it will be copy by reference. Question 21:- Can structures get created on Heap ? Answer: Structures are mostly created on stack but if it contains an object then the object gets created on stack.
The addresses can be confusing if you don't realize that in memory, stacks grown DOWN, not up. Logically, when something new gets put onto a stack, it gets put on top of everything already in the stack. So a stack grows from bottom (lowest memory address) upwards (highest memory address). But that is not how a stack behaves physically. Instead, the first element of the stack is stored at the HIGHEST memory location available for the stack, and each new element is stored BELOW the prior element. So in memory, a stack starts at the top and grows downward.
The diagrams are obviously for understanding purpose so it does not resemble the exact structure internally. Said and done how stack is allocated like top to bottom or vice versa is completely architecture dependent. Many architectures follow what you say but also there are few who do not.
30 Important C# Interview Questions : ua-cam.com/video/BKynEBPqiIM/v-deo.html
20+ Garbage Collection (GC) Interview Questions : ua-cam.com/video/RgfuVp2lXIA/v-deo.html
25+ OOPS Interview Questions : ua-cam.com/video/u99wAoBjDvQ/v-deo.html
Software Architecture Interview Questions : ua-cam.com/video/AtTgcbLOqMM/v-deo.html
20+ SQL Server Interview Questions : ua-cam.com/video/SEdAF8mSKS4/v-deo.html
10+ Power BI Interview Questions : ua-cam.com/video/Cozc9WNBRt4/v-deo.html
20 MSBI Interview Questions : ua-cam.com/video/Nw_sHEKnOUE/v-deo.html
SQL Server Joins : ua-cam.com/video/KTvYHEntvn8/v-deo.html
SQL Step by Step - ua-cam.com/video/uGlfP9o7kmY/v-deo.html
Angular Step by Step Tutorial for Beginners : ua-cam.com/video/-9VcW7MBDs8/v-deo.html
25 Angular Interview Questions : ua-cam.com/video/-jeoyDJDsSM/v-deo.html
25 Important ASP.NET Interview Questions : ua-cam.com/video/pXmMdmJUC0g/v-deo.html
35 Important JavaScript Interview Questions : ua-cam.com/video/Zb4dPi7CANU/v-deo.html
20 MySQL Interview Questions : ua-cam.com/video/9hfjC-BpY20/v-deo.html
5 MSBI Interview Questions : ua-cam.com/video/5E815aXAwYQ/v-deo.html
20 PHP Interview Questions : ua-cam.com/video/1bpNSynUrl8/v-deo.html
Awesome job, Shiv. You helped me land my entry-level job in my software development career.
19. Structure is allocated on Stack
20. Structures are copy byVal
21. Yes, Structures can get created on heap if they are fields of a class
perfect.
This first and only video that managed to explain to me how stack and heap works. You sir deserve a medal for this one!
Its a perfect explanation
19) Structure gets allocated on stack
20) Here the structure is copy by Val not copy by ref
21)Yes we may create structure on heap memory also
overall Today few of my doubts regarding memory allocation of a program gets cleared
Thank you for such knowledgeable video...
Thank you for the most comprehensive video on youtube!!
The three questions at the end of the video are asking about the same thing
19. structs are stored on stack, since they are primitive data types
20. byval
21. Yes, as a part of a class instance
Q19: Structure alloc on Stack
Q20: MyStruct s2 = s1; It's copied byValue
Q21: Structure can be alloc on Heap when an object has structure property
-- Thank you so much for the lesson!
Thanks a lot sir, I have been watching your videos since 2013...By watching your videos I cracked my interviews for L&T infotech, Arees Software, JLL, Qualsoft systems...🙂
Best and most experienced .Net trainer gives another great example of in depth concepts in easily understandable method
Thank you Shiv, this is one of the best and most well explained videos I've ever watched on these subjects. I'm not even interviewing as I'm just learning C# and I absolutely loved how easy you made this. I hope you continue to deep dive into more C# content! I subscribed and plan on signing up to your website courses, Thank you again!
Good teacher. Very thorough. This is how it’s done.
I didn't know how does memory allocation and deallocations works and you've shown it in so detailed and interesting way. Thank you so much. 🙂
Shiv you are really good at explaining things easy and smooth
For the past 9 years, i always prefer your videos for any learning or job change.
You are doing a great job, your voice tone is really impressive
Thank you for your kind words :)
Excellent Teaching Method. I Love your videos from Pakistan
Thank you Shiv, your trainings are amazing, help me and many developers like me to be able to put things in decent way in the interview, otherwise many who did work can't explain things in proper way and step by step, that's amazing.
Too good. Best video on stack and heap.
Really awesome.Because i didnt know all this there are always confusion.
Good content, thank you!
Just awesome. Now I know and can relate how value type and reference types work behind the scene.
This is a wonderful explanation. Thank you very much. And yes we did see the sanitizer bottle too😊.
Watching any of your video I consider topic I understand is 100% thank you so much for this detailed session
It was very nice. Got good knowledge. Thank you sir. I have watched it completely
thank u so much, wil share this video on linkedin
Really informative. Makes the info stick by giving examples rather than regurgitating info from a book many thanks
Best tutor ever. Keep it up Sir 😍
Best explanation ever.😋
Great package of questions!
There is one more thing about stack and heap, what happen in situations when we pass data to methods, and next when we pass data with OUT and REF prefixes :)
For Q19 - stack
For Q20 - by Val
For Q21 - we can create heap as s3 representing the address reference that's mean heap created
What a fabulous teaching strategy . keep great work continues☺
Thank you for your trainings, love it. 19) structure are allocated in stack.
20) are copy byVal.
21) Is possible created in heap.
1. Structure allocated in stack.
2. Structure copy byval.
3. yes, Structure can create in heap as well as in stack.
Great Video ShivPrasad , Thank you!
Very nice explanation... watched full hr till end.. thank you
A simple answer to all the last 3 questions can be that primitive data types like int,double are structure in nature.
Thank you for the great tutorial.
Please correct me if I am wrong
many of your videos helped me a lot.
I always liked your video. You are great instructor.
Very much liked this kind of conceptual videos
Thank You Sir :)
Great explanation .really appreciate Sir .
Sir your way of explanation is always awesome 😊
Thanks nice name....:-) and good to see you running a technical channel.
19. Where is structure allocated Stack or Heap?
- Stack, as you can clearly see in Quick watch that those values are stored in stack.
20. Are structures copy byval or copy byref?
- Structs are copy byval, as you can see that after copying s1 to s2 its values are stored in stack & and address is not stored.
21. Can structures get created on Heap?
- Yes, they will get created if they are part of a object.
I have one doubt. If any value type is stored in heap like if struct is stored in heap then is it directly stored in memory or it is stored in another stack and that stacks memory address is stored in heap? May b stupid question but could you please clear my doubt? @questpondvideos
Very comprehensive, thank you so much sir!
Thank you so much Sir. 🙏
The structure gets allocated in stack.
Structure are copied byval.
Structure can be created on heap.
Bravo and you are so right
I'll answer the question about the usefulness of these types of questions as an interviewer as opposed to more topical questions. I don't think these are deal breaker questions for junior to mid roles but, they do help identify a certain type of developer that you really want. If candidates can answer these questions correctly, demonstrate a topic specific knowledge necessary for the role, solve a design problem and answer behavioral questions well, they are a hire for me.
It's gem ! You are a life saver !! Thank-you!!!
it was awesome explaining around the subjects.
thanks a lot
Thanks for your video Sir. It is amazing to clarify all of my doubts about memory parts.
Crystal clear..💓
boxing unboxing that why decreases performance never know, Thanks this is great
Stack, byval, heap and thank you 🙂
Very good explanation. Great.
Thank You :)
Thank you so much Sir.
Very nice explaniation.
Keep up the good work
Loved your videos
19) structures are allocated on stack.
20) structure follows copy byval
21) structure get created on the heap when that is part of instance.
You are gold! Thank you very much!
Thank you for use full video
Great explanation and thank you so much for this detailed session 👍
Eye opener video .... ❤️
Thank you for this great video, very easy to follow you.
I think a software engineer should know the basic things like stack and heap, boxing unboxing etc ..
Thank you sir, it's a wonderful explanation. You have talk about each and everything. But as you say there's challange to clear heap. So new programing language/technology coming in market still they are using concept of heap. If yes then What is the main dependency on heap which is making it necessary to use
Well explained
Thank you so much Sir 🙏
Very usefull thank you
Thank you so much, really you let me understand it 100%
Well explained.
19: Structures are value types. Will be stored on the stack but can be stored on both the heap when used in a class instance.
20) Structures use copy val, and will create a new reference in the ram for the value.
21) yes if they are used within an object, for example if my employee class used a structs to store values, the structs within the employee object would be added to the heap
That’s my take on it so far have just paused the video without reading comments so I hope I have it right 😅
I wish you were my teacher when I was in college.
Hi Questpond,
Is it possible to share the interview question documents with us?
That you are talking about in this video.
Thanks
After sharing the video send us email to get free ebook.
nice exp
Q19: memory stores direct value, so it is stack
Q20: ByValue
Q21: Yes because heap because is part of oject t
The fact that there is no clear answer as to which school of thought we belong to doesn't imply that he shouldn't comprehend the basics (I STRONGLY RECOMMEND FUNDAMENTALS FIRST). A healthy balance between the first and second schools of thought, as well as an honest desire to learn, should exist. A person should not be tested on memory but rather on honesty and enthusiasm for learning new things. Because it's just a matter of memory and is accessible online, he might pick up the same idea the following day.
Nice
19. Stack 20.byval 21.Yes if they are properties of an object
Thank you sir
As per August 2023 , things have changed now , I created same example now on Visual Studio and everything was being stored on stack now, correct me if I am wrong.
structure s1, s2 is allocated on stack but s3 is refernce the structure is created on heap by giving reference on stack
Sir
Is it useful for .net developers to learn mongodb and nodejs ??
It's optional and depends on the project requirement which you are working on. Yes it is useful to learn mongodb and nodejs due to demand being very high.
what if we add a string as a variable in a struct and that struct is called in a function ? . I tried it and it says it is located in the heap not the stack. Adresses are different
Sir I have a question. Why can't object values be stored on stack? Just because the values are keep changing?
Can anyone explain me whether unboxing is happening in below code?
As per definition ,obj (Age and Name) is stored on heap and we are retreiving Name field from heap memory to local variable Age into stack memory.
internal class Program
{
static void Main(string[] args)
{
Test obj = new Test();
int Age = Convert.ToInt32(obj.Name); // is there any unboxing here at this line
}
}
internal class Test
{
public int Age = 10;
public string Name = "150";
}
Hello Sir,
Can you please explain what will be the memory allocation for a child object.
For example Student in following case
Class.Student.StudName
S1 = Stack, S2 = Stack, S3 = Heap
Why is the value with 16 digits is it in hexadecimal so haw many Bytes/bits is required? Could anyone make this clear for me ? And between 408 and 404 is it 4 ?? ? Whzt the unit of the diffrence 408-404 = ?? Is it the size of the variable for example xbool here
One question - why are actual objects stored on heap?
Thanks you.
Structures created on stack.
Copy by val.
Structures can be created on heap.
How to get the eBook sir? Do you want me to share the screenshots that I have shared this over facebook?
Yes send email to us, steps for getting free ebook are mentioned in the videos.
I want to get the e-book,,please
Hi Questpond,
Thanks for uploading such a nice videos on Stack/heap.
Below is the answer for the 19,20 & 21.
19. Stack - because structure are value type.
20. Structure copy byval , and we can see that when you wrote &S2. It is directly showing the value instead address of value.
21. Yes , structures can be created in heap when we use as member in class.
Here structure is member of class.
I hope , i am able to answer last 3 question correctly, if not then please correct me.
Thanks
Yo are super right and very nicely put.
Dear Sir W Asslam
❤
where are functions belonging to class stored. and functions local variables
S1 Allocated to Stack
S2 struct is copy byVal
S3 Yes! It's gose in to heap
Question 19:- Where is the structure allocated Stack or Heap ?
Answer: In C#, when you create a structure (struct), it is typically allocated on the stack if it's a local variable within a function or method. However, if the structure contains reference types (e.g., objects), those reference types will be allocated on the heap, and the structure will store references to them.
Question 20:- Are structures copy byval or copy byref ?
Answer: Structures are mostly copy by values but if it contains an object then it will be copy by reference.
Question 21:- Can structures get created on Heap ?
Answer: Structures are mostly created on stack but if it contains an object then the object gets created on stack.
Please check my answers and tell me about the questions are correct. If not correct then explain me please
The addresses can be confusing if you don't realize that in memory, stacks grown DOWN, not up.
Logically, when something new gets put onto a stack, it gets put on top of everything already in the stack. So a stack grows from bottom (lowest memory address) upwards (highest memory address). But that is not how a stack behaves physically. Instead, the first element of the stack is stored at the HIGHEST memory location available for the stack, and each new element is stored BELOW the prior element. So in memory, a stack starts at the top and grows downward.
The diagrams are obviously for understanding purpose so it does not resemble the exact structure internally. Said and done how stack is allocated like top to bottom or vice versa is completely architecture dependent. Many architectures follow what you say but also there are few who do not.
sorry sir i don't like it i love it best explanation sir
:)
Thank you sir