将Struct Alias设置为null

时间:2014-11-15 21:43:04

标签: c

我正在研究一些旧代码并注意到这一点:

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


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

我想知道* root = NULL;可以直接替换为' root;'或者如果将别名根设置为null有任何特殊优势。

1 个答案:

答案 0 :(得分:0)

root是指向struct Node

类型变量的指针
struct node {
...
}*root=NULL;

rootstruct Node

类型的变量
struct node {
...
}root ;

如果您尝试使用第二个示例进行分配,则类型不匹配:

root=malloc(sizeof(struct node));

Malloc返回一个指针,但root不是指针。