linux c 数组空间释放
请教高手一个问题,在linux下我知道一个数组的大小 如:long arry[100000] 这个数组是在循环里定义的,使用完出了循环体, arry数组有没有啥办法可以马上释放掉?
堆栈上的没有办法释放。 long * arry = malloc(sizeof(long)*100000); free(arry); 这样的可以 操作系统管理的。你出了函数才释放呢。 所以可以在循环里搞个函数吗! 谢谢!我的这个long arry[100000]是在一个函数里定义使用的,在该函数调用使用完后,它的空间会得到释放吗? 是可以的。函数调用是在栈上的。 自动变量退出函数会释放的 用alloc直接在堆栈中分配,可以不用释放 在该函数调用使用完后,它的空间会得到释放引用 谢谢!我的这个long arry[100000]是在一个函数里定义使用的,在该函数调用使用完后,它的空间会得到释放吗? 会的。 你可以使用{}限定这个数组的作用域 循环体里的临时数组是在堆栈里的,函数退出后,会自动释放。对程序内部而言,这种释放动作只是堆栈寄存器的加减而已。 非常感谢各位的回复!
相关问答:
#include"stdio.h" #include"stdlib.h" void ContrTwo(char i) { char str1[8]; itoa(i,str1,2); printf("%s",str1); } unsigned char leftRot(char str,int i); unsign ......
请问VFP中如何调用C/C++函数? 你要调用什么功能的函数?要看看VFP中有没有对应的函数,如果有就省着再调用了。如果没有,可以将C/C++函数写个DLL或FLL,然后在VFP调用即可。 十豆三 老师,怎么才能修改自己的 ......
如题,在WINDOWS底下的CODE会,但在LINUX下不知道如何实现,JS的代码应该是不一样的。 求教。 分不够再加。 http://topic.csdn.net/u/20100113/08/17ba1e71-4c33-43f6-91a5-0e031c86e5ed.html linux ......
帮帮忙,谢谢~ 1. Write a program to perform a topological sort on a graph. 2. Write a program to solve the single‐source shortest‐path problem (Dijkstra algorithm). 3. Write a program ......
在根目录/lib中存放一个log.c,log.h,并用下面的语句: gcc -c log.c ar crv liblog.a log.o 编译出一个liblog.a静态库,然后在文件夹:/testfile中创建一个test.c和testc.c,test.c中引用了testc.c中定义的方法 ......