1
我知道如何將數組存儲在堆上。但是如何將本地數組存儲在堆棧中。整個數組是否被推入堆棧?數組如何存儲在堆棧上?
我知道如何將數組存儲在堆上。但是如何將本地數組存儲在堆棧中。整個數組是否被推入堆棧?數組如何存儲在堆棧上?
Yes
,整個數組被推入堆棧。 查看此鏈接查看如何將變量分配到堆棧上的內存 https://stackoverflow.com/a/18479996/1814023
無論數據在哪裏,數組的存儲方式都是相同的。無論它們被聲明爲局部變量還是全局變量,或者在堆中動態分配都沒關係。唯一不同的是,其中被存儲。
所以如果我用100.000元素創建一個本地數組,這會導致堆棧溢出? – Sebi2020
是的,它會。如果它大於堆棧大小 – Megharaj
@NishithJainMR:堆棧和堆的大小由Windoze上的編譯器決定(即在編譯時)。 MSVC上的默認值爲1Mb。點雖然,它沒有在C標準中定義。 – cdarke