私は本を行っていたが、これらの線 Cでは(node *)NULLはどういう意味ですか?
if(*head == NULL){
}else if ((*head)->next == (node *) NULL){
}
彼らは互換的に使用することができNULL
と(node *) NULL
の違いは何である
typedef struct nodeType{
int info;
struct nodeType *next;
}node;
私は本を行っていたが、これらの線 Cでは(node *)NULLはどういう意味ですか?
if(*head == NULL){
}else if ((*head)->next == (node *) NULL){
}
彼らは互換的に使用することができNULL
と(node *) NULL
の違いは何である
typedef struct nodeType{
int info;
struct nodeType *next;
}node;
これらは互換的に使用できます。しかし、あなたのコードと同じようにNULL
を型キャストするのは非標準で珍しいことです。
キャストは必要ありません。
これは、コードの作成者が彼が何をしているのかわからないことを意味します。 'NULL'はキャストを必要としません。 – asveikau
これは単なる難読化です。ポインタは、条件文の中で「NULL」と比較する必要はありません。 'if(* head)'と 'if((* head) - > next)'は完全になります。 –