(node*)NULL在C中是什么意思



我正在翻阅一本研究链表的书,看到了

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

NULL(node *) NULL的区别是什么?它们可以互换使用吗?

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

在比较指针时,不考虑类型,因此毫无意义。

如果这是一本介绍性的书,作者可能只是为了清楚起见才把它包括在内。如果这不是一本入门书,那么作者要么有一种奇怪的编码风格,要么不知何故认为它更有意义。

它们可以互换使用。但是,像您的代码那样对NULL进行类型转换是非标准的,也是不寻常的。

无需铸造。

相关内容

最新更新