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

看板C_and_CPP (C/C++)作者 (larkes)時間8年前 (2017/05/18 00:33), 8年前編輯推噓4(4011)
留言15則, 8人參與, 最新討論串1/1
開發平台(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不能自己任意刪除了呢? 謝謝指教! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.177.11.187 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1495038836.A.EB3.html ※ 編輯: larkes (180.177.11.187), 05/18/2017 00:35:30

05/18 00:39, , 1F
無法
05/18 00:39, 1F

05/18 00:45, , 2F
了解,謝謝~
05/18 00:45, 2F

05/18 00:55, , 3F
你在離開function後那個array就自然消失了
05/18 00:55, 3F

05/18 05:24, , 4F
刪除是指不佔空間嗎?
05/18 05:24, 4F

05/18 08:18, , 5F
@b0920075 是的
05/18 08:18, 5F

05/18 08:19, , 6F
@james 謝謝你喔,
05/18 08:19, 6F

05/18 08:19, , 7F
當初的原本用意是希望function執行到一半時 就刪除陣列
05/18 08:19, 7F

05/18 08:20, , 8F
不過一樓的版友已經提供答案了
05/18 08:20, 8F
※ 編輯: larkes (180.177.11.187), 05/18/2017 08:21:25 ※ 編輯: larkes (180.177.11.187), 05/18/2017 08:21:50

05/18 17:25, , 9F
為什麼要這樣 是不是有潔癖
05/18 17:25, 9F

05/18 17:55, , 10F
stack 的大小並不是很大 所以你陣列也不能太大
05/18 17:55, 10F

05/18 17:55, , 11F
因此在結束前「刪除」陣列也沒什麼意義
05/18 17:55, 11F

05/19 08:29, , 12F
嗯,謝謝樓上兩位
05/19 08:29, 12F

05/19 23:50, , 13F
一樓精闢解答
05/19 23:50, 13F

05/20 10:33, , 14F
:)
05/20 10:33, 14F

05/23 12:21, , 15F
靜態分配就是把釋放的權利交給系統了,不必管他
05/23 12:21, 15F
文章代碼(AID): #1P77jqwp (C_and_CPP)
文章代碼(AID): #1P77jqwp (C_and_CPP)