(node *)NULL在C中的含义是什么?

时间:2012-03-22 03:21:59

标签: c pointers linked-list

我正在阅读一本研究链接列表的书,并看到了这些行

if( *head == NULL){

}else if ( (*head)->next == (node *) NULL ){

}

NULL(node *) NULL之间的区别可以互换使用吗?

typedef struct nodeType{
    int info;
    struct nodeType *next;
}node;

2 个答案:

答案 0 :(得分:8)

比较指针时,不考虑类型,因此没有意义。

如果作为介绍性书籍,作者可能只是为了清楚而将其包括在内。如果它不是一本介绍性的书,那么作者要么有一种奇怪的编码风格,要么以某种方式认为它更有意义。

答案 1 :(得分:7)

它们可以互换使用。但是,对于类似NULL的代码而言,这是非标准和不寻常的。

不需要演员表。