在 C 中使用空终止字符作为空指针

Dan*_*Dan 5 c

#include <stdio.h>

int main(){
 int *p = '\0';
 if (p == NULL){
   // this block will get executed.
 }
 return 0;
}
Run Code Online (Sandbox Code Playgroud)

我已经读过0NULL并且\0都等于0C 中的整数常量。那么上面的代码在设置和检查 NULL 指针时在技术上是否正确?我想它仍然需要避免,因为\0它主要用于终止字符串并且它在这里的用法令人困惑?