簡體   English   中英

是否可以釋放靜態定義的數組?

[英]Is it possible to deallocate a statically defined array?

你能釋放用靜態分配定義的數組的內存嗎?

不,無法取消分配靜態分配的內存。

根據語言(例如C / C ++,使用指針),您可以將此數組所擁有的內存用於其他目的,但這樣做只會重新使用內存; 內存不會每本身被釋放。

這就是說,這種將靜態內存重新用於/除了最初在那里定義的變量之外的變量的想法,只是為了幫助理解這種類型的分配的性質。 實際上,特別是作為一個新手,對這種功能的需求絕對沒有意義

  • 要么變量預計只有程序就有生命周期
    在這種情況下,它應該聲明為靜態
  • 或者在程序執行期間的某個時間不需要變量
    在這種情況下,它應該被動態分配(?在程序初始化之后/期間不久)並在適當時釋放。

不,靜態分配意味着它在程序開始時自動分配,並在程序的整個持續時間內存在,然后在終止時自動釋放。

總之......不。

將此內存視為“應用程序范圍”,從而在應用程序的生命周期之后分配/取消分配。

這個有可能。 靜態數組在進程完成之前自動釋放。

不...它不可能,但如果你將該數組指針分配給其他指針,它將導致內存泄漏..

暫無
暫無

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

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