留言与评论(共有 0 条评论) |
发布时间:2020-04-12 09:12:12
空指针解引用是否导致异常应该是硬件设备和OS组合决定的。以前在VXwork下工作,空指针也可以解引用,可以访问内存0地址,还可以修改内容。这种情况下,为了便于程序员debug,印象中我们大概是采用了对于0地址内容监控,如果内容有改动则报告或者crash。NULL指针的访问异常是C程序员常见的bug,事实上部分情况下空指针可以解引用。
你的意思是这样的吧int main(void){int *p;p = null;*p = 5;//这样是解引用 p = 5不是return 1;//需要一个值}要避免的话可以在对指针解引用之前判断指针是否为空if(p != NULL)或者使用assert指令判断要对地址为0的地方解引用,需要强制类型转换
留言与评论(共有 0 条评论) |
全站搜索