这段代码究竟是如何工作的?

时间:2017-05-24 14:32:59

标签: c list struct typedef

我有这段代码:

typedef listelement * list;

以上不是问题。我明白了。但是以下是做什么的?

{{1}}

我想创建一个结构列表,类似于python中的空列表。有人告诉我,上面那样做了,但我不明白这是怎么回事。

1 个答案:

答案 0 :(得分:1)

好吧,基本上typedef会创建一个类型别名。

因此,第一个为listelement创建别名struct list_element

第二个构建于此基础之上,并为list创建别名listelement *(当然这只是struct list_element *)。

一般情况下,使用typedef来"隐藏"指针可能很笨拙和烦人,因为在C中你真的需要经常关心是否有东西是指针。