gpt4 book ai didi

c - 结构体定义末尾的变量名是什么意思?

转载 作者:行者123 更新时间:2023-11-30 14:43:06 24 4
gpt4 key购买 nike

假设我有这样的定义:

typedef struct tnode *Tnodep;
typedef struct tnode
{
int contents; /* contents of the node */
Tnodep left, right; /* left and right children */
}Tnode;

最后一个Tnode是什么意思?这个定义和这个定义有什么区别?

typedef struct tnode *Tnodep;
typedef struct tnode
{
int contents; /* contents of the node */
Tnodep left, right; /* left and right children */
};

最佳答案

第一个定义定义了一个 struct tnode 和两个类型名称 Tnodep 和 Tnode。第二个没有定义类型名称 Tnode。

通过第一个定义,您可以定义以下两个之一:

Tnode x;
tnode y;

使用第二个定义,你不能。你只能写

struct tnode x;

关于c - 结构体定义末尾的变量名是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54137927/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com