66问答网
所有问题
C语言函数调用完毕,函数里的变量指针都释放干净了吗
如题所述
举报该问题
推荐答案 2016-08-23
一般在函数中的变量指针都会释放,但是除了用*alloc取得的空间,还除了加了static的变量,加了static的变量只在程序退出后才释放,用*alloc取得的空间只在free后和程序结束时才释放。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://66.wendadaohang.com/zd/Dvnvpns2sDp9D2Dnsn.html
其他回答
第1个回答 2016-08-23
得看具体的情况 的 。。。。。。。。。。。。。
相似回答
C语言函数调用完毕,函数里的变量指针都释放干净了吗
答:
malloc分配的
指针,
要手动释放 当然程序结束, 系统会帮你回收
c语言
。
调用
完函数后(main函数外面的函数)
函数里面的指针
消失
了吗
?没有...
答:
如果指针是局部变量 退出
函数的
时候 就会被释放 这样
指针变量
的值是什么 其实没什么关系了 也不会产生野指针 如果没有申请内存,或者申请内存后,传到主调
函数,
在其它地方
释放,
就不会产生内存泄露 链表删除的时候 free(p)就好。 这个就是释放内存 一般被释放的 没必要赋值为NULL 删除节点的时候 重要...
c语言指针
指向的局部
变量释放
?
答:
函数完成只释放局部变量本身占用的空间,如果变量是指针变量,
则不会释放指针指向的空间
在
调用
完
函数
后
,里面的变量
会自动删吗?
答:
s2本身会删除的,但是s2所指向的那块内存是不会删除的。因为你是用new在堆上分配,在堆上分配要自己手动释放掉,你这样会造成内存泄露的。一般要这样:delete[] s2;s2 = NULL;
函数里的
局部
变量
在函数退出后会不会自动
释放
?
答:
会自动
释放,指针
也是一样的。局部变量的作用域是定义该
变量的函数
或定义该变量的复合语句。只在定义它的函数或复合语句范围内有效,只能在定义它的函数或复合语句内才能使用它们。局部变量的生存期是从函数被
调用的
时刻算起到函数返回调用处的时刻结束。
c语言中
“
函数调用
结束后
,函数内
定义的静态
变量
所占用的空间被
释放
...
答:
不正确
,函数内的
静态
变量
在该
函数调用
结束后,且该函数所在的模块没有被释放的情况下,这个静态变量值为上次函数调用后的值。这样说比较抽象。举例说明一下:\x0d\x0a \x0d\x0avoid AA()\x0d\x0a{\x0d\x0a static int s_iCount; //
C语言
默认初始化0值\x0d\x0a s_iCount...
大家正在搜
变量的指针其含义是指该变量的
变量的指针就是变量的地址
指针变量和指针的区别
指针就是一个变量的地址吗
c语言指针的用法
指针变量的值
指针变量的地址
c语言指针数组
c语言中指针的定义
相关问题
C中关于函数调用结束后变量释放的问题
c语言。调用完函数后(main函数外面的函数)函数里面的指针...
为什么函数调用结束后,指针变量所指向的变量值会保留下来
C语言中函数调用时局部变量是否释放
c语言中 函数调用结束后,函数内定义的静态变量所占用的空间被...
c语言中“函数调用结束后,函数内定义的静态变量所占用的空间被...
C语言 调用函数完后释放内存吗?
C语言 函数内指针返回后的释放问题