5.10为什么C语言空指针的一些东西不好理解

有两条简单规则你必须遵循:

  1. 当你在源码中需要空指针常数时, 用“0” 或“NULL”。
  2. 如果在函数调用中“0” 或“NULL” 用作参数, 把它转换成被调函数需要的指针类型

讨论的其它内容是关于别人的误解, 关于空指针的内部表达(这你无需了解),和关于函数原型的复杂性的。(考虑到这些复杂性, 我们发现规则2 有些保守; 但它没什么害处。)理解问题5.1、5.2 和5.4, 考虑问题5.3、5.7、5.10 和5.11 你就就会变得清晰。