gpt4 book ai didi

c - 尝试在 C 中定义两个可靠的结构

转载 作者:太空宇宙 更新时间:2023-11-04 00:17:12 24 4
gpt4 key购买 nike

当第二个结构使用第一个作为数组成员并且自身有两个指针成员时,我试图在 C 中定义两个结构。

Visual Studio 不喜欢我的代码:

语法错误:'}'
语法错误:标识符“tokenListNode”
语法错误:在“*”之前缺少“{”

知道如何解决这个问题吗?

--> 请注意,无论是否有我在代码开头添加的声明,都会出现错误。

--> 另外,如果有人能给我解释一下标识符有什么区别在结构的大括号前后,我将不胜感激。

代码如下:

#define ARRAY_SIZE 100

struct tokenListNode;
struct TOKEN_LIST_NODE;


enum TOKEN_TYPE
{
id = 0,
INT_NUM,
INT_REAL,
ASSIGNMENT_OP,
RELATION_OP,
ARITHMETIC_OP
} tokenType;

typedef struct TOKEN
{
char* lexema;
enum TOKEN_TYPE type;
int lineNumber;
} token;


typedef struct TOKEN_LIST_NODE
{
token tokenArray[ARRAY_SIZE];
tokenListNode* prevNode;
tokenListNode* nextNode;
int tokenCounter;
}tokenListNode;

最佳答案

tokenListNode 在您使用之后之前,您不要定义它。更改为以下内容:

typedef struct TOKEN_LIST_NODE tokenListNode;
struct TOKEN_LIST_NODE
{
token tokenArray[ARRAY_SIZE];
tokenListNode* prevNode;
tokenListNode* nextNode;
int tokenCounter;
};

关于c - 尝试在 C 中定义两个可靠的结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8297536/

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