指针问题,传入函数的指针参数

void saferFree(void **pp) 
{
  if (pp ! = NULL && *pp ! = NULL) {
      free(pp);
      pp = NULL;
  }
}
怎么pp还要判断是否为空,pp不是存pp的地址?直接看pp是否为空不就行了

我大概明白了
int p;
int *pp =&p;
int **ppp = *pp;

如果ppp为空 肯定不可以访问
假如*ppp,也就是pp,它指向为空,肯定也不能访问
感觉就是这样

代码有点问题,应该是free( * pp); * pp = NULL;
这个函数应该是用来释放*pp,不是pp的