"安全"指针值间隔?

cat*_*_cd 2 c c++ pointers

首先,我对堆栈和堆不是很熟悉.

在很多程序中,我看到指针都经过检查NULL.但这并不能阻止一个疯狂的地址0x002011被传递.

我的问题:是否存在"安全"地址间隔,我可以在解除引用之前检查指针属于哪个并且合理地确定它是有效的?

lit*_*adv 8

否.确保在创建新变量时将指针初始化为NULL,然后仅使用malloc(当C)或new(当使用C++时)或其他分配函数(或分配给另一个有效指针或NULL)来更改值.分别在free和之后设置回NULL delete.