读书人

C语言中删除变量和结构体初始化有关问

发布时间: 2012-03-31 13:13:26 作者: rapoo

C语言中删除变量和结构体初始化问题
各位大侠:
我编的程序里面有较大数组,但是只用了一次,感觉很浪费资源,所以想用完以后就把它从内存里释放出来,像matlab中的clear a; 那样。请求帮助。

另:在结构体定义时,我想在其中一个数组直接初始化为某值,但是该数组很大,不能一个一个输入,能不能在结构体中用for语句进行赋值?

谢谢。

[解决办法]
楼主发在C语言版,1楼给的应该是C++语言的吧。

楼主可能是想要类似这样的吧?

C/C++ code
struct A {    char* p;};A a;a.p = (char*)malloc(10000);int i;for(i = 0; i < 10000; ++i) {    a.p[i] = 'a';}
[解决办法]
就把使用数组的代码连同数组的定义一起放在一个函数里吧。
函数调用结束,数组占用的堆栈空间自然被释放。
[解决办法]
释放内存的话可以考虑Malloc动态申请,在用完之后free释放;
[解决办法]
数组不可以显式释放吧,不过可以动态分配。那样你就可以管理这些内存了、

读书人网 >C语言

热点推荐