请查看以下代码块:
typedef struct node
{
int data;
struct node *next;
}
Node;
Run Code Online (Sandbox Code Playgroud)
在该代码中,是Node同义struct node,由typedef的定义,或者是node同义为结构?如果是后者,则struct node *next;相当于struct struct *next;?
我是不是太复杂了?
Som*_*ude 11
使用时,您typedef可以创建某种类型的别名.
所以是的,Node是别的struct node.
此外,您拥有的代码相当于
struct node
{
int data;
struct node *next;
};
typedef struct node Node;
Run Code Online (Sandbox Code Playgroud)
该typedef不是结构的定义,它的一部分的部分Node定义.
Node是同义词struct node。这就是为什么(对于您的示例)而不是使用
struct node* p;
Run Code Online (Sandbox Code Playgroud)
一个可以用
Node* p;
Run Code Online (Sandbox Code Playgroud)