对占位符使用(void*)1而不是null是有好处的

Mik*_*ike 0 c

我想知道使用(void *) 1而不是null在分配"空"值时是否存在任何差异/优势.(在C中)

mer*_*011 5

除非您需要区分NULL指针,否则您(void *) 1应该NULL出于多种原因来表示空指针.

  1. 调用freeNULL的指针就不会你的程序崩溃.它只会做什么都不做.
  2. 其他人更容易理解您的代码.
  3. 许多库函数接受NULL作为"空"参数的有效值.没有库函数接受(void *) 1作为有效值.