c语言中内存释放的问题!

来源:百度知道 编辑:UC知道 时间:2024/05/27 14:08:16
C语言中有个free()用于释放括号中指针所指向的一块区域,我想知道数组是不是要释放呢?还是系统自动给予数组释放?

用类似于int array[10]这种形式定义的数组是不需要释放的,因为系统会在他的生命期开始自动分配空间,生命期结束自动释放空间。

所谓生命期就是从变量被定义到变量所在的函数结束执行为止

realloc()、malloc()、calloc()函数申请的空间需要用free()函数释放。

free是用在释放动态申请的内存空间的,它是对堆的操作。
而你声明的数组变量,它是在栈中存在的,不需要释放。程序运行结束,自动无效了,就把该变量弹出栈中了

数组怎么会要你释放呢,一般是malloc函数申请的空间需要free,一般也就用malloc,而realloc,calloc一般很少用

不用释放.