If structures places data to stack why we do not getting stackoverflow on array of structures?
rikki cattermole via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Wed Aug 16 00:33:30 PDT 2017
On 16/08/2017 8:14 AM, Suliman wrote:
> On Wednesday, 16 August 2017 at 07:09:02 UTC, rikki cattermole wrote:
>> On 16/08/2017 8:06 AM, Suliman wrote:
>>> If structures placing data on the stack why we do not getting
>>> stackoveflow while we creating array of structures? Or for example
>>> big structure.
>>>
>>> Am I right understand that structures placing data _only_ on stack?
>>> But the stack size is very limited (on Widnows it's just 1MB).
>>>
>>> So how it's work?
>>
>> Struct's by themselves go on the stack.
>> If they are allocated via new/malloc its on the heap (and hence are
>> pointers).
>> Same situation with arrays or inside a class.
>
> But for example if I am getting array of structs and getting data to it,
> where it's locating?
On the heap, unless you are allocating it via e.g. alloca.
More information about the Digitalmars-d-learn
mailing list