1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > NULL空指针解引用

NULL空指针解引用

时间:2022-02-22 20:44:50

相关推荐

NULL空指针解引用

NULL指针解引用

首先问大家一个问题就是,大家最开始使用函数(包含指针的函数),例如

size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream),是否有做过一些处理判断?如果有就别往下看了,没有呢可以往下看看_

我个人是没有的。

但是我最近在上班的时候处理一些事情的时候发现,使用这类函数是需要对指针进行null检查的,叫检查null指针解引用

为什么?

什么是空指针解引用

C语言空指针的值为null,一般null指针指向进程的最小的地址,通常这个值为0.如果试图通过空指针对数据进行访问,会导致运行时的错误。当程序试图解引用一个期望非空但是实际为空的指针时,会发生空指针解引用错误。对于空指针解引用可能会导致程序异常终止或拒绝服务。如:再Linux系统中访问空指针会残生segmentation fault的错误。

危害

空指针解引用是C/C++程序中较为普遍的内存缺陷类型。当指针指向无效的地址并且对其引用时。可能产生不可预见的错误,导师软件系统崩溃。空指针引用缺陷可能导致系统崩溃、拒绝服务诸多严重后果 。

举例

void test(int *p){*p++;printf("%d\n",*p);}int main(){int *p=getvalue();if(p==null) //就是这一步,验证是否为空{printf("error:p is null\n");}test(p);//空指针解引用}

注意

的是:验证是否为空的时候一定要起到效果,不要太早也不要太晚,一般在函数调用前使用。

本文是个人的见解,如果有误感谢大佬指点,欢迎讨论学习。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。