簡體   English   中英

int A [n]是分配在STACK還是HEAP上?

[英]int A[n] is allocated on STACK or on HEAP?

如果執行以下行:

    void dummy () {
     int n;
     scanf ("%d", &n);
     int A[n];
    }

陣列A將分配在STACK還是HEAP上?

這應該是C還是C ++問題?

請注意,在C ++中,數組聲明在形式上是非法的。 在數組聲明中使用非常量表達式指定數組大小是非法的。

假設您的C ++編譯器支持此聲明(從C語言中借用此功能),則A是本地數組對象。 它的分配方式與聲明沒有鏈接的任何其他本地對象的方式相同,即具有自動存儲持續時間(在您的術語中為“ on stack”)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM