c语言 free的疑问
发布网友
发布时间:2024-10-07 01:13
我来回答
共0个回答
c语言 free的疑问
1.如果你只在main函数或者一个子函数里使用,那就在main函数或者子函数的结尾进行free;2.如果你在子函数里用了malloc,并返回了这个指针,那么就要在调用这个子函数的函数里,那块区域不再用了再free
C语言软件~关于Cfree的问题~~~
void main() //===》》》必须加void,解释如下:{ printf("abc");} 在C语言里,标准的C调用都为函数预留有返回值的空间.所以不管你用不用void来修饰函数,它都有一个返回值,不同的是这个返回值有没有意义和意义是什么.当你用void来修饰时,编译系统会识别程序员的无意识的调用其返回值,从而...
问个C语言关于free的小问题
释放掉了内存,但是内存没有清空,数据还在那个地方,指针还指向那个地方,过一会这段内存就会被内存分给别人了,到时候就打印不出来了。
关于C语言中free函数的问题
要free的话首先那块空间得是malloc, calloc, realloc...开辟出来的内存空间, free多少取决于当时alloc出多少.char* a = (char*)malloc(x*y*sizeof(char));//开辟了x*y个char的空间,(这里是二维的,如果多维就是要多少,开多少);//相当于a[x][y];//但是malloc出的空间是堆区的,而数组是在...
在c语言中有关free的用法错误,求指点。
因为free只能释放动态内存 而你的代码里只有静态内存b 静态内存只能由机器自动释放,也就是程序运行完后,自动释放内存 再往深里说就是.b变量是在栈里,只能系统释放.free只能释放堆里内存.
C语言函数问题: free可以只释放个别单元吗,比如我定义了一个动态数组...
不可以,这个需求要通过移动数组元素再加上realloc()函数实现
C语言问题《CFree》!给出一个数 判断是质数还是合数? 是否为完数? 是否...
你写的代码if和else不匹配,参考我写的代码看看能不能看懂:int main(){ int b,i;printf("请输入整数b:");scanf("%d",&b);for(i = 2;i
C语言free问题
free之后,是不是current不指向原来的内存单元了?是的,指向未知的内存,访问这块未知的内存肯定出现段错误;但是原先没有free时的内容可能还存在,没有释放 只是你不能通过current访问了;不知道你明白没,希望能帮到你;
关于在C语言中使用free()的问题?
这个错误虽然在free时报错,但是错误不是free导致的。(C_pt + sizeof(int)) = 2;这里你在访问C_pt指向的内存的第5个int,而你只分配了4个int的内存,因此你的代码出现内存访问越界,当然有问题。这可能是你对C_pt+运算符的含义理解错误导致的。底下的没有越界,当然没问题 ...
C语言free函数的疑问
指针变量本身是不释放的!只有指针变量的生命周期到了才会释放(比如主函数里定义的指针变量,当主函数结束后才释放!)