[问题] 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