我常常发现自己正在做以下事情(在非关键组件中):
some_small_struct *ptr=(some_small_struct *) malloc(sizeof(some_small_struct));
ptr->some_member= ...;
Run Code Online (Sandbox Code Playgroud)
总之,我为一个小结构分配动态内存,我直接使用它而不检查malloc'ed指针.我知道程序总是有可能得不到它所要求的内存(呃!)但请考虑以下内容:
如果程序甚至无法从堆中的小结构获得一些内存,那么可能会出现更大的问题,而且它毕竟无关紧要.
那么,如果处理空指针会加剧岌岌可危的情况呢?(例如,尝试记录条件会调用更多不存在的资源等)
我的推理是否合理(足够)?
更新:
+X 访问可以隐藏NULL指针的根本原因