免费注册 查看新帖 |

Chinaunix

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

访问空指针与程序死掉 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-06-10 22:33 |只看该作者 |倒序浏览
1。访问空指针一定会使程序死掉吗?
2。访问空指针致使程序死掉的机制是什么呢?
谢谢

论坛徽章:
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
2 [报告]
发表于 2008-06-10 22:41 |只看该作者
1. Segmentation Fault
2.这个问题是基于第一个问题为肯定回答的基础上的

论坛徽章:
0
3 [报告]
发表于 2008-06-10 22:52 |只看该作者
原帖由 charlieli1 于 2008-6-10 22:33 发表
1。访问空指针一定会使程序死掉吗?
2。访问空指针致使程序死掉的机制是什么呢?
谢谢


个人  理解

1。一定。
2。你戳到非法内存(地址)上去了,会导致灾难性后果。

论坛徽章:
0
4 [报告]
发表于 2008-06-10 22:54 |只看该作者
要看你当时的指针具体的指向.

如果你指的空指针一般有两种(type 代表 int,char,等c类型):
1.
   type  *p=NUL;
   规范的用法
2.
   type  *p;
   ...对p进行操作.

错误的用法,但程序是否退出就要看当时p的具体状态了.

如果是函数指针,那一调用就会立竿见影.

论坛徽章:
0
5 [报告]
发表于 2008-06-10 22:57 |只看该作者
如果知道这是错的还去做,那不是。。。你更错了嘛

论坛徽章:
0
6 [报告]
发表于 2008-06-10 23:00 |只看该作者
原帖由 ruoyisiyu 于 2008-6-10 22:57 发表
如果知道这是错的还去做,那不是。。。你更错了嘛


幽默的反向思维方式.

论坛徽章:
0
7 [报告]
发表于 2008-06-11 00:38 |只看该作者
>> 1。访问空指针一定会使程序死掉吗?

访问空指针是没有任何问题的,但是不能用空指针访问它指向的对象(即对空指针进行解引用操作)。

对空指针进行解引用被 C 标准规定为其行为是无定义,所以虽然常见的现象是程序的执行被中断,然而也可能出现其它表现形式,甚至也可无任何异常、程序运行正常。

>> 2。访问空指针致使程序死掉的机制是什么呢?

一般的情况是由于操作系统提供的内存保护机制导致了程序运行的中断。

论坛徽章:
0
8 [报告]
发表于 2008-06-11 01:08 |只看该作者
补充一点楼上的。

AIX/HP-UX 不会(Read only)。
Windows/Linux/Solaris AV or Segmentation Fault

[ 本帖最后由 Alligator27 于 2008-6-11 01:18 编辑 ]

论坛徽章:
0
9 [报告]
发表于 2008-06-11 01:16 |只看该作者
原帖由 Alligator27 于 2008-6-11 01:08 发表
补充一点楼上的。

AIX/HP-UX 不会。
Windows/Linux/Solaris AV or Segmentation Fault


请问一下:aix/hp-ux 不会,什么情形下才会出现类似segmentaion fault 的错误

论坛徽章:
0
10 [报告]
发表于 2008-06-11 01:22 |只看该作者

回复 #9 mik 的帖子

跟其它平台一样,没有map的地址。

零页系统用了,或许是历史的原因吧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP