[問題] C語言有辦法刪除陣列嗎?

作者: larkes (larkes)   2017-05-18 00:33:54
開發平台(Platform): (Ex: Win10, Linux, ...)
Linux, ThreadX
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
gcc
問題(Question):
如果記憶體是用malloc配置,
那我們可以用free把記憶區塊刪除...
但是如果是用靜態宣告陣列的方式
有沒有什麼辦法可以手動刪除那個陣列呢?
例如:
void test_function()
{
int array[10];
}
我想要在test_function()在結束執行之前,
手動把array[]刪除,
請問...C語言有辦法做得到嗎?
是不是取名叫"靜態", 就表示programmer不能自己任意刪除了呢?
謝謝指教!
作者: fatrabitree (胖兔子)   2017-05-18 00:39:00
無法
作者: larkes (larkes)   2017-05-18 00:45:00
了解,謝謝~
作者: james732 (好人超)   2017-05-18 00:55:00
你在離開function後那個array就自然消失了
作者: b0920075 (Void)   2017-05-18 05:24:00
刪除是指不佔空間嗎?
作者: larkes (larkes)   2017-05-18 08:18:00
@b0920075 是的@james 謝謝你喔,當初的原本用意是希望function執行到一半時 就刪除陣列不過一樓的版友已經提供答案了
作者: MOONRAKER (㊣牛鶴鰻毛人)   2017-05-18 17:25:00
為什麼要這樣 是不是有潔癖
作者: Hazukashiine (私は幸せです)   2017-05-18 17:55:00
stack 的大小並不是很大 所以你陣列也不能太大因此在結束前「刪除」陣列也沒什麼意義
作者: larkes (larkes)   2017-05-19 08:29:00
嗯,謝謝樓上兩位
作者: RishYang (Rish)   2017-05-19 23:50:00
一樓精闢解答
作者: larkes (larkes)   2017-05-20 10:33:00
:)
作者: vaio8937 (直把杭州當汴州)   2017-05-23 12:21:00
靜態分配就是把釋放的權利交給系統了,不必管他

Links booklink

Contact Us: admin [ a t ] ucptt.com