社区
C++ 语言
帖子详情
static这样是否导致野指针
navas
2011-03-18 10:36:13
void pp( )
{
static char *p=NULL;
if( NULL==p )
{
cout << "p is null" << endl;
char kkk[100]="3334566";
p = kkk;
cout << p << endl;
}
else
{
cout << "p is not null." << endl;
cout << p << endl;
}
}
...全文
112
11
打赏
收藏
static这样是否导致野指针
void pp( ) { static char *p=NULL; if( NULL==p ) { cout << "p is null" << endl; char kkk[100]="3334566"; p = kkk; cout << p << endl; } else { cout << "p is not null." << endl; cout << p << endl; } }
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
龙哥依旧
2011-03-18
打赏
举报
回复
丑小鸭
navas
2011-03-18
打赏
举报
回复
当执行2次pp()时,第二次的pp走进了else里面,此时的p指向已经释放的内存
LinuxBirdMan
2011-03-18
打赏
举报
回复
p的作用域在函数体内。。。函数退出之后。。。p不可再用。。。觉得应该没什么问题呀。。怎么会造成野指针呢?虽然它一直存在知道程序结束。。。
LinuxBirdMan
2011-03-18
打赏
举报
回复
不过出了这个函数块。。就不能再用p了。。。。
太乙
2011-03-18
打赏
举报
回复
函数返回后,p没问题,p还存在,但是p指向的内存(kkk)已经不复存在了!
RabbitLBJ
2011-03-18
打赏
举报
回复
[Quote=引用 2 楼 rabbitlbj 的回复:]
楼主可以把这个指针当做返回值返回了把,这样在类外也能释放的。C很多库函数就是这样设计的
[/Quote]
看来是我没有理解正确楼主的意思了。。。。闪了
碎碎念
2011-03-18
打赏
举报
回复
是的,函数执行完以后再试p就会出问题...
RabbitLBJ
2011-03-18
打赏
举报
回复
楼主可以把这个指针当做返回值返回了把,这样在类外也能释放的。C很多库函数就是这样设计的
maoxing63570
2011-03-18
打赏
举报
回复
是的,变量的作用域问题
yuanwang1986
2011-03-18
打赏
举报
回复
[Quote=引用 5 楼 hqin6 的回复:]
函数返回后,p没问题,p还存在,但是p指向的内存(kkk)已经不复存在了!
[/Quote]
正解,这样下次再访问P时 P已经是一个指向不定位置的指针了,如果想下次继续用的话,应该用malloc开辟的空间付给P,这样下次再进入到这个函数P就可以继续上一次的操作了
C++的内存泄漏与
野指针
野指针
:访问一个已销毁或者访问受限的内存区域的指针,
野指针
不能判断
是否
为NULL来避免 悬垂指针:指针正常初始化,曾指向一个对象,该对象被销毁了,但是指针未置空,那么就成了悬空指针。结果未定义,往往
导致
...
野指针
与悬空指针
野指针
与悬空指针 一、
野指针
产生的原因 1、指针定义时未被初始化:指针在被定义的时候,如果程序不对其进行初始化的话,它会指向随机区域,因为任何指针变量(除了
static
修饰的指针变量)在被定义的时候是不会被置...
野指针
(概念,产生原因,危害,避免方法)
野指针
:访问一个已销毁或者访问受限的内存区域的指针,
野指针
不能判断
是否
为NULL来避免 垂悬指针:指针正常初始化,曾指向一个对象,该对象被销毁了,但是指针未制空,那么就成了悬空指针。 2.概念 指针指向了一...
iOS多线程同时操作同一内存造成
野指针
iOS多线程同时操作同一内存造成
野指针
iOS多线程同时操作同一内存造成
野指针
,一个解决方案。 什么是多线程的
野指针
问题 之前在《浅谈多线程编程误区》一文中,曾经举过如下这样的多线程setter例子: for (int i...
【C语言】
野指针
产生的原因、危害和规避方法
1.
野指针
产生的原因: 1、定义指针变量的同时未对其进行初始化:指针在被定义的时候,如果程序不对其进行初始化的话,它会指向随机区域,因为任何指针变量(除了
static
修饰的指针变量)在被定义的时候是不会被置空的...
C++ 语言
64,683
社区成员
250,490
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章