1樓:匿名使用者
全域性變數、常量,都是在資料區的
函式區域性變數在棧上
動態分配的在堆上
c++的成員變數是在堆還是棧區
2樓:幻夢·人生
成員變數並不能決定自身的
儲存空間位置。決定儲存位置的物件的建立方式。
即:如果物件是函式內的非靜態區域性變數,則物件,物件的成員變數儲存在棧區。
如果物件是全域性變數,則物件,物件的成員變數儲存在靜態區。
如果物件是函式內的靜態區域性變數,則物件,物件的成員變數儲存在靜態區。
如果物件是new出來的,則物件,物件的成員變數儲存在堆區。
3樓:匿名使用者
這不是根據這個來分的,這要看你物件本身在哪兒
4樓:風吹過的街道
在main裡面,如果使用了new就是堆區,如果沒有就是棧區
5樓:匿名使用者
是在堆區是在堆區是在堆區是在堆區是在堆區
c++靜態儲存區,棧和堆的區別
6樓:匿名使用者
靜態儲存區:記憶體bai在程式編譯的時候就du已經分配好,zhi這塊內dao
存在程式的整個執行回期間都存在。它主要存答放靜態資料、全域性資料和常量。
棧區:在執行函式時,函式(包括main函式)內區域性變數的儲存單元都可以在棧上建立,函式執行結束時這些儲存單元自動被釋放。棧記憶體分配運算內建於處理器的指令集中,效率很高,但是分配的記憶體容量有限。
(任何變數都處於站區,例如int
a = ,變數a處於棧區。陣列的內容也存在於棧區。)
堆區:亦稱動態記憶體分配。程式在執行的時候用malloc或new申請任意大小的記憶體,程式設計師自己負責在適當的時候用free或delete釋放記憶體。
動態記憶體的生存期可以由我們決定,如果我們不釋放記憶體,程式將在最後才釋放掉動態記憶體。
但是,良好的程式設計習慣是:如果某動態記憶體不再使用,需要將其釋放掉,並立即將指標置位null,防止產生野指標。
c語言中,怎麼判斷變數的型別 如何判斷變數是int還是l
1 首先在duc語言中,long long 是c99標準對整形類zhi型做的擴充套件,dao每個long long型別的變數佔8位元組版,64位。如下圖使用 lld輸出。權 2 這種輸出方法的結果如下圖所示,可以看到輸出結果是0,而很明顯輸出的結果不應該為零,也就是說輸出結果是錯誤的。3 這時要看下...
C long型別變數問題,c 裡面有沒有比long更長的資料型別
1 此變數型別是否支援icloneable,如果支援的話,可以使用 param.clone得到一個新的變數。2 如果不支援的話,就需要用到反射,a.dim mytype as type gettype param b.使用反射 activator.createinstance 可以建立型別為myty...
急!!C已知變數a,b,c是整型變數,且a b c 5,則表示式a b c 1b c
答案為1。詳解 a b c 1 b c 2 等價於 a b c 1 b c 2 計算機內部計算步驟 可以檢視彙編 先算 a b c 1 0 5 1 4測試上一步專結果 結果為4 表屬達式為真。再算b c 2 結果為6 注意4 2結果為2,因為都是整型,餘數丟掉 測試上一步結果 結果為6 表示式為真。...