检查 C 中的多指针重定向验证



我有一个代码,我指向一个嵌套的子结构元素。喜欢:

struct bucket *hp = array->value.ht->pListHead;

我正在获得 pListHead 值。但我想知道其中一个指针是否有可能为 NULL。检查此重定向有效性的一种方法是检查每个指针,例如

if(array)
  if(array->value)
    if(array->value.ht)
      if(array->value.ht->pListHead)
        struct bucket *hp = array->value.ht->pListHead;

还有其他解决方案可以进行此验证吗?

你可以重写为一个if语句

if ( array && array->value && array->value.ht && array->value.ht->pListHead )
{
   // ...
}

相关内容

  • 没有找到相关文章

最新更新