我經歷了一本書正在學鏈表,看到這些線路什麼(節點*)NULL在C意味着什麼?
if(*head == NULL){
}else if ((*head)->next == (node *) NULL){
}
是什麼NULL
和(node *) NULL
之間的差異,他們可以互換使用?
typedef struct nodeType{
int info;
struct nodeType *next;
}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
。
不需要強制轉換。
這意味着代碼的作者不知道他在做什麼。 'NULL'不需要強制轉換。 – asveikau 2012-03-22 03:24:10
這只是混淆。指針不需要在條件中與NULL進行比較。 'if(* head)'和'if((* head) - > next)'會完美。 – 2012-03-22 07:28:32