2014-11-15 44 views
1

我正在研究一些舊代碼,並注意到了這一點:設置結構別名爲null

struct node { 
... 
}*root=NULL; 


int main() 
{ 
... 
root=malloc(sizeof(struct node)); 
... 
} 

我想知道,如果根* = NULL;可以用「根」來代替或者是否有將別名root設置爲空的特殊優點。

+0

在*你'malloc()'之前使用'root'嗎? –

+0

@Ja͢ck不,它不是 – BDillan

+0

'* root = NULL;':它會導致「類型不同」的錯誤。 – BLUEPIXY

回答

0

root是一個指向型struct Node

struct node { 
... 
}*root=NULL; 

root的變量類型struct Node

struct node { 
... 
}root ; 

的變量如果您嘗試使用第二個例子中的類型不分配匹配:

root=malloc(sizeof(struct node)); 

Malloc返回一個指針,但root不是一個指針。