问题描述: NULL 是什么,它是怎么定义的? 1个回答 分类:综合 2014-09-23 问题解答: 我来补答 作为一种风格,很多人不愿意在程序中到处出现未加修饰的 0.因此定义了预处理宏 NULL (在 和其它几个头文件中) 为空指针常数,通常是 0 或者 ((void *)0) 希望区别整数 0 和空指针 0 的人可以在需要空指针的地方使用 NULL.使用 NULL 只是一种风格习惯; 预处理器把所有的 NULL 都还原回 0,而编译还是依照 上文的描述处理指针上下文的 0.特别是,在函数调用的参数里,NULL 之前 (正如在 0 之前) 的类型转换还是需要.NULL 只能用作指针常数; 展开全文阅读