我正在阅读一本研究链接列表的书,并看到了这些行
if( *head == NULL){
}else if ( (*head)->next == (node *) NULL ){
}
NULL
和(node *) NULL
之间的区别可以互换使用吗?
typedef struct nodeType{
int info;
struct nodeType *next;
}node;
答案 0 :(得分:8)
比较指针时,不考虑类型,因此没有意义。
如果作为介绍性书籍,作者可能只是为了清楚而将其包括在内。如果它不是一本介绍性的书,那么作者要么有一种奇怪的编码风格,要么以某种方式认为它更有意义。
答案 1 :(得分:7)
它们可以互换使用。但是,对于类似NULL
的代码而言,这是非标准和不寻常的。
不需要演员表。