免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4940 | 回复: 18
打印 上一主题 下一主题

[C] 【请教高高手】悬垂指针有可能指向NULL吗? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-07-10 16:44 |只看该作者 |倒序浏览
请问悬垂指针有可能指向NULL吗?

论坛徽章:
0
2 [报告]
发表于 2008-07-10 16:49 |只看该作者
不会吧。。。

除非原来就指向NULL。

char *ptr = NULL;

delete ptr;

论坛徽章:
0
3 [报告]
发表于 2008-07-10 16:55 |只看该作者
不是说它是随机的指向一个地方吗,为什么不可能是NULL呢?

chat * prt;

只声明,然后

(prt ==  NULL)

结果有可能是真吗?

论坛徽章:
0
4 [报告]
发表于 2008-07-10 17:35 |只看该作者
原帖由 ballbb 于 2008-7-10 16:55 发表
不是说它是随机的指向一个地方吗,为什么不可能是NULL呢?

chat * prt;

只声明,然后

(prt ==  NULL)

结果有可能是真吗?

有可能!

论坛徽章:
0
5 [报告]
发表于 2008-07-10 17:36 |只看该作者
全局变量就是NULL了。

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
6 [报告]
发表于 2008-07-10 17:38 |只看该作者
呵呵,之前没听说悬垂指针,理解了一下,难道就是所谓的野指针,
free之后,
没有显式指向NULL的指针。。

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
7 [报告]
发表于 2008-07-10 17:40 |只看该作者
如果是这样的话,那么不能保证它指向哪儿了,所以在此对该指针操作时灰常灰常危险的

论坛徽章:
0
8 [报告]
发表于 2008-07-10 17:40 |只看该作者
原帖由 Godbach 于 2008-7-10 17:38 发表
呵呵,之前没听说悬垂指针,理解了一下,难道就是所谓的野指针,
free之后,
没有显式指向NULL的指针。。

悬垂指针应该是指没只声明没赋值的指针吧。

论坛徽章:
0
9 [报告]
发表于 2008-07-10 17:41 |只看该作者
测了一下,非常有可能啊。看来申明了指针还是一定要赋值的。保险。

  1 #include <stdio.h>
  2
  3 void t (int i )
  4 {
  5     char * ptr;
  6
  7     if (ptr == NULL)
  8         printf("%d  found one \n", i );
  9     /*else */
10
11         /*printf("not found\n");*/
12
13     ptr = NULL;
14
15 }
16
17 int main ()
18 {
19     int i = 1000000000;
20     for (; i > 0; i--)
21         t( i );
22
23 }
24
~

论坛徽章:
0
10 [报告]
发表于 2008-07-10 17:47 |只看该作者

回复 #9 ballbb 的帖子

声明了指针不赋值,那这个指针有什么用?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP