社区
C语言
帖子详情
释放没有定义的指针会有什么后果吗?
howtoprogram
2004-08-26 05:40:14
byte *b;//该指针没有定义
...
free(b);
这样做法对吗?
...全文
136
4
打赏
收藏
释放没有定义的指针会有什么后果吗?
byte *b;//该指针没有定义 ... free(b); 这样做法对吗?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
miky
2004-08-26
打赏
举报
回复
指针是不能Free的,他相当于一个变量,保存的是他所指向的对象的地址。一般我们Free指的是Free这个对象,而不是指针。
所以你的用法是错误的。
疯狂的技术宅
2004-08-26
打赏
举报
回复
应该这样
byte *b=null;
...
free(b);
庄鱼
2004-08-26
打赏
举报
回复
这样做会导致系统的不稳定性,因为未分配的指针并不都是指向空地址的,所以当调用free的时候有可能使系统崩溃。
jeby1101
2004-08-26
打赏
举报
回复
建议不要这么作
但这也不算错
什么是内存泄漏?什么是野
指针
?什么是内存越界?如何避免?
内存泄漏 百度百科上的
定义
:内存泄漏(Memory Leak)是指程序中己动态分配的堆内存由于某种原因程序未
释放
或无法
释放
,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重
后果
。 一看
定义
,坑好像更多了,动态分配,堆内存是什么? 某种原因包含哪种原因? 未
释放
我能理解,无法
释放
是什么时候 看
后果
很严重,运行速度减慢!系统崩溃!那么内存究竟为什么这么强?? 危害举了一个例子,比如服务...
C语言 局部
指针
变量
会
释放
吗,局部变量是否
释放
难道跟数据类型有关吗?
我是了解C语言中传递数组的规范用法的。有一天,我的一位同学写了类似如下代码:char* mul_char2(char *A, char *B){char M[2];char *p = M;M[0] = A[0] * B[0];M[1] = A[1] * B[1];return p;}我认为,这个代码不能实现想要的效果,因为 M 是局部变量,函数执行完之后
会
被
释放
,但它居然可以执行,而且返回结果正确...
野
指针
概念、
定义
、及如何规避野
指针
野
指针
概念、
定义
、及如何规避野
指针
C/C++面试:悬挂
指针
与野
指针
有什么区别?
悬挂
指针
与野
指针
有什么区别? 悬空
指针
:当
指针
指向的对象被
释放
,但是该
指针
没有
任何改变,以至于其仍然指向已经被回收的内存地址,这种情况下的
指针
叫做悬空
指针
野
指针
:未初始化的
指针
叫做野
指针
。 如何避免野
指针
指针
变量声明时
没有
被初始化。解决办法:
指针
声明时初始化,可以是具体的地址值,也可让它指向NULL。
指针
p被free或者delete之后,
没有
置为NULL。解决办法:
指针
指向的内存空间被
释放
后
指针
应该指向NULL。
指针
操作超越了变量的作用范围。解决办法:在变量的作用域结束前
释放
掉变量的地.
C++ delete
释放
指针
,悬浮
指针
C++中使用delete删除
指针
,只是把
指针
指向的内存
释放
掉,并
没有
释放
掉
指针
本身。 c++中的悬浮
指针
:声明了但
没有
被付值的
指针
,它指向内存中的任意一个空间。避免悬浮
指针
的一个方法是开始就付值为NULL “野
指针
”不是NULL
指针
,是指向“垃圾”内存的
指针
。人们一般不
会
错用NULL
指针
,因为用if语句很容易判断。但是“野
指针
”是很危险的,if语句对它不起作用。野
指针
的成因主要有两种:
C语言
70,026
社区成员
243,244
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章